在C ++中扩展继承的数组

时间:2015-02-25 08:54:21

标签: c++ arrays inheritance

我有指针,假设它应该是A类的数组。 这个指针在Ancesor类中定义,如[2]。它是在构造函数中设置的。 继承者想要在这个数组中增加2个附加单元格,即数组应为[4]。

构造函数不提供使用覆盖虚拟方法的选项。那么,如何在继承者中将数组扩展为4而不是2,而不在ancesor中创建2,在继承者中删除它,并创建新的4?

顺便说一下,它不可能使用容器这样的载体等它必须是数组。

1 个答案:

答案 0 :(得分:1)

如果要在构造函数中设置数组的大小,那么最简单的解决方案就是重载构造函数。

如果你创建一个参数是数组大小的新构造函数,那么你可以简单地从派生类中调用那个祖先构造函数'构造

在代码中:

Ancestor( unsigned int arraySize ){ array = new OBJECT[arraySize]; }

然后在派生中使用它。