2

好的,所以我有这个任务,我一直坚持下去,我会寻求任何帮助。

基本上我所拥有的是一个基类和两个派生自该基类的类,这不是问题。但是现在我需要创建一个“容器”类,它有一个包含两个类实例的“双指针”动态数组。

那么我的问题是:为什么双指针数组在这里对我有帮助?这个双指针业务对我来说似乎很混乱。通过谷歌搜索,我发现双指针基本上是指向指针的指针,但这对我有什么帮助以及如何声明双指针动态数组?

另外,如何在同一个数组中存储两个不同的类(尽管派生自同一个基类),这不是两种不同的数据类型吗?

4

1 回答 1

2

您需要一个指针来使其成为可能属于任何派生类的对象数组——数组中的所有对象都必须是相同的静态类型,因此您需要一个指向基类的指针数组。这样,数组的所有元素都是相同的(指针)类型,但它们中的任何一个都可能指向基类或任何派生类的任何对象。

您需要第二个指针使其成为动态数组——C/C++ 中的数组是固定大小的,因此如果您希望能够更改大小,则需要使用指向未指定大小数组的指针(这只是指针)。

因此,您最终需要一个指向容器指针(双指针)的指针。

于 2014-12-10T16:57:15.243 回答