我试图将派生对象添加到基本指针数组中。
我的类定义有以下内容(因为这是一个无法更改的赋值):
Base** bases;
现在我正在使用一系列基本指针:
Base** bases=new Base*[2];
并添加如下元素:
bases[0]=new Derived1;
bases[1]=new Derived2;
如果不是因为我似乎无法追踪的内存泄漏,这样可以正常工作。我读过我可以使用矢量用于类似的目的,更好的内存管理。
我试过了:
vector<Base*>basesV;
basesV.push_back(new Derived1);
basesV.push_back(new Derived2);
它似乎有效,但我如何附加&#39;载体基因V进入我的基类**碱基?
简单地base = basesV;似乎不起作用。我是否坚持使用一系列基本指针?
我还有一个功能,它接受Base **并且删除上面的矢量似乎也不起作用。
感谢您的帮助。
答案 0 :(得分:0)
如果我理解正确......
bases = &basesV[0];
还要确保您的Base析构函数是虚拟的。