2011-12-17 4 views
0

は、どのように私は、このファイル内のすべてのクラスT?:C++メソッドでテンプレートクラスを作成しますか?

// ComponentMan.h 
class ComponentMan 
{ 
public: 
    template<class T> 
    void CreateComponent<T>() 
    { 
     T* temp = new T(); 
    } 
} 

は基本的に、私はジェネリッククラスinstantiaterをしたいが含まれるようにせずに、次のことを行うことができます。どのようにヘッダーをどこにも含めることなくこれを達成できますか?

答えて

2

あなたはそれを逆の方法で行います。どこでも "ComponentMan.h"を使用します。例えば:

がfoo.h

class Foo { 
    ... 
}; 

blah.cpp

#include "foo.h" 
#include "ComponentMan.h" 

void bar() { 
    ComponentMan man; 
    man.CreateComponent<Foo>(); 
} 
+0

はい、この作品ありがとうございました! – NomenNescio

関連する問題