【发布时间】:2012-09-25 07:27:04
【问题描述】:
我想在 C++ 中复制对象。问题是我有具有多态性的派生类,如下面的伪代码所示:
class BaseCl { some virtual functions };
class DerivedClass : public BaseCl { ... };
...
BaseCl * b1 = new DerivedClass();
BaseCl * b2 = new "copy of b1"; (just pseudocode)
问题出在最后一行:
我想复制“BaseCl”类的一个对象,但由于多态性,该副本必须与“DerivedClass”的原始对象一样。
最好的方法是什么?
非常感谢,感谢您的帮助。
编辑:问题已解决:
插入:
virtual BaseCl *clone() = 0;
在基类中和
DerivedCl *clone() {return new DerivedCl(*this);}
在派生类中。谢谢大家。
【问题讨论】:
-
这与此处描述的问题大致相同:stackoverflow.com/questions/12447427/…
标签: c++ object copy polymorphism