如果我有一个指向派生自抽象基类的对象的指针(因此我无法创建该类的新对象),并且我希望对所述对象进行深度复制,是否有更简洁的方法完成那个而不是让抽象基类创建一个新的纯虚拟 copy
函数,每个继承类都必须实现?
最佳答案
不,但是copy
方法并不一定很痛苦:
class Derived : public Base
{
public:
Base *copy() const
{
return new Derived(*this);
}
};
(假设您已经有一个复制构造函数,如果您需要深复制,您将拥有)。
关于c++ - 复制抽象基类的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4755105/