我有指针,假设它应该是A类的数组。 这个指针在Ancesor类中定义,如[2]。它是在构造函数中设置的。 继承者想要在这个数组中增加2个附加单元格,即数组应为[4]。
构造函数不提供使用覆盖虚拟方法的选项。那么,如何在继承者中将数组扩展为4而不是2,而不在ancesor中创建2,在继承者中删除它,并创建新的4?
顺便说一下,它不可能使用容器这样的载体等它必须是数组。答案 0 :(得分:1)
如果要在构造函数中设置数组的大小,那么最简单的解决方案就是重载构造函数。
如果你创建一个参数是数组大小的新构造函数,那么你可以简单地从派生类中调用那个祖先构造函数'构造
在代码中:
Ancestor( unsigned int arraySize ){ array = new OBJECT[arraySize]; }
然后在派生中使用它。