在C#中:
public sealed class StateMachine<TState, TTrigger>
我想写一个C ++等价物。
答案 0 :(得分:3)
像这样:
template <typename TState, typename TTrigger>
class StateMachine
{
//...
};
答案 1 :(得分:1)
This site对如何制作模板类有很好的解释。例如:
// function template
#include <iostream>
using namespace std;
template <class T>
T GetMax (T a, T b) {
T result;
result = (a>b)? a : b;
return (result);
}
int main () {
int i=5, j=6, k;
long l=10, m=5, n;
k=GetMax<int>(i,j);
n=GetMax<long>(l,m);
cout << k << endl;
cout << n << endl;
return 0;
}
将此项与this previous Stack Overflow question结合使用,以达到班级的密封性。
答案 2 :(得分:0)