C++:复制对象类型指针

时间:2021-06-02 15:16:00

标签: c++ inheritance polymorphism copy-constructor

如果有这个代码,为了简化我的问题:

class Parent
{
public:
    Parent();
    ~Parent();
    virtual void Func() = 0;
};

class Child1 : public Parent{
public:
    Child1();
    void Func() override;
       ...
};

class Child2 : public Parent{
public:
    Child2();
    void Func() override;
       ...
};

//Some other file
std::vector<Parent*> vec;
vec.push_back(new Child1());
vec.push_back(new Child2());

std::vector<Parent*> vec2;
vec2.push_back(new Parent(*vec[0]));//Gives me an error: object of abstract class type "Parent" is not allowed

我想做的是创建该 vec 的副本,而不是指向相同的内存位置。

0 个答案:

没有答案
相关问题