2012-02-03 8 views
1

以下のC#の例のようなテンプレート/ジェネリッククラスを定義します:は、どのように私はC#では

public sealed class StateMachine<TState, TTrigger> 

私はC++相当するものを書きたいと思います。このよう

+0

あなたはその言葉を言いたいと思うでしょう – trickdev

答えて

3

template <typename TState, typename TTrigger> 
class StateMachine 
{ 
    //... 
}; 
0

あなたはスチュアートとXEOが提案されているものを使用して、あなたがここに密封されたクラスを作りたい場合はそれを行う方法を説明しlinkである可能性があります。

EDITED:thisがさらに優れています。

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と組み合わせて使用​​して、クラスの密封された側面を実現します。