wro*_*ame 5 c++ inheritance pointers derived-class deep-copy
如果我有一个指向从抽象基类派生的对象的指针(因此我无法创建该类的新对象),并且我希望对所述对象进行深层复制,那么是否有更简洁的方法来实现让抽象基类创建一个新的纯虚copy函数,每个继承类必须实现?
Dan*_*her 10
不,但该copy方法不一定很痛苦:
class Derived : public Base
{
public:
Base *copy() const
{
return new Derived(*this);
}
};
Run Code Online (Sandbox Code Playgroud)
(假设您已经有一个复制构造函数,如果您需要深层复制,那么您将拥有).