2

我有一个抽象类,它的一个子类有一个指向抽象类的成员指针。

我必须为另一个类编写一个复制构造函数和赋值运算符。如何为复制的类的成员分配内存?

class Foo{
public:
    virtual ~Foo() = 0;
};

class Bar: public Foo{
private:
    int a;
public:
    ~Bar(){
        ;
    }
};

class Qwe: public Foo{
private:
    Foo *pointer;
public:
    ~Qwe(){
        delete pointer;
    }
}
4

1 回答 1

3

这应该通过在抽象类(在派生类中实现)中添加一个复制(或克隆)成员函数来解决。只有类本身才能知道如何复制类的内容,所以应该这样做。

于 2012-12-26T22:41:15.010 回答