说我有一个类:是否可以在同一个类中创建一个类的实例?
class Foo{
public:
Foo(){
}
//Is it possible to create a function like this:
virtual Foo* createOb(){
//Should create a new Foo,Bar or Fiz, depending on the actual object type.
}
}
class Bar: public Foo{
public:
Bar(){
}
}
class Fiz: public Foo{
public:
Fiz(){
}
}
是否有可能有一个方法createOb()
在基类的,所以当createOb()被调用所导出的类之一的实例,其的一个实例派生类是否被创建?
如果您在不同的cpp文件我想这应该有可能分裂它。你是否正在寻找基类的克隆函数而不知道它是什么子类?你可以看看这种方法:https://katyscode.wordpress.com/2013/08/22/c-polymorphic-cloning-and-the-crtp-curiously-recurring-template-pattern/ – Hayt
@ c.bear但是Foo不知道派生类......我是C++的新手,所以我不知道你的意思...... –