如何在不必在此文件中包含每个类T的情况下执行以下操作?:
// ComponentMan.h
class ComponentMan
{
public:
template<class T>
void CreateComponent<T>()
{
T* temp = new T();
}
}
基本上,我想要一个泛型类实例化器。如何在不包含标题的情况下实现这一目标?
答案 0 :(得分:2)
你反过来这样做;在任何想要使用它的地方都包含“ComponentMan.h”。 e.g:
<强> foo.h中强>
class Foo {
...
};
<强> blah.cpp 强>
#include "foo.h"
#include "ComponentMan.h"
void bar() {
ComponentMan man;
man.CreateComponent<Foo>();
}