私は2つのコンポーネント、ランダムクラス型Tと整数を取るクラスを書いて、私は次のようにそれを実装:TEST.Hで のように:C++で汎用クラスからオブジェクトを作成するには?
template <class A, int B>class Test { // two components,
private:
A first;
int second;
public:
Test();
Test (A,int);
}
Test.cppのでは、私がやった:
template <class T,int i> Test<T,i>::Test() {}
template <class A,int i>Test<A,i>::Test(T a, int b):first(a) {second=b;}
しかし、主な機能は:私は、オブジェクトinstancを宣言することができますどのように
Test<int, int > T1; //It can not be passed
Test<int, 4> T2; //It can not be passed
int x = 8;
Test<int, x> T3 (3,4);// can not be passed
上記の汎用クラスのe?
Sigh。 http://www.parashift.com/c++-faq-lite/templates.html#faq-35.15 –
適切な用語は「クラステンプレート」です。 「汎用」という言葉は、他の言語では非常に異なる意味を持つため、この文脈では少し危険です。 –
Testクラスのオブジェクトをどのように宣言できますか?これが問題です。おい、私はそれを必要とする.... – ToBeGeek