我想了解这样一个简单的对象工厂。
template <class Base>
class Factory
{
protected:
Factory (std::string name)
...
}
Factory<Base>::Factory (std::string name)
{
Factory_Map[name] = this;
}
//-------------------------------------
template <class Derived, class Base>
class Factory_Der: public Factory<Base>
{
public:
Factory_Der(std::string name) : Factory<Base>(name) { }
...
};
所以Factory_Der的构造函数会调用Factory的构造函数。但我不知道Factory的构造函数中的这个指针将引用Factory对象或Factory_Der对象。似乎这将引用工厂对象,但代码不应该工作!(它正在工作)。
谢谢