指向使用向量的基本指针的数组

时间:2015-04-11 23:31:36

标签: c++ arrays pointers vector

我试图将派生对象添加到基本指针数组中。

我的类定义有以下内容(因为这是一个无法更改的赋值):

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 **并且删除上面的矢量似乎也不起作用。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

如果我理解正确......

bases = &basesV[0];

还要确保您的Base析构函数是虚拟的。