簡體   English   中英

在C ++中擴展繼承的數組

[英]Extending inherited array in C++

我有一個指針,假設它應該是A類的數組。此指針在Ancesor類中定義為[2]。 它在構造函數中設置。 繼承者要向該數組添加2個額外的單元格,即該數組應為[4]。

構造函數不提供使用替代虛擬方法的選項。 因此,如何在繼承者中將數組擴展為4而不是2,而不在祖先中創建2,在繼承者中將其刪除,然后創建新的4?

順便說一句,不可能使用容器,例如向量等,它必須是數組。

如果要在構造函數中設置數組的大小,那么最簡單的解決方案就是重載構造函數。

如果使用參數作為數組的大小創建新的構造函數,則只需在派生類的構造函數內調用該祖先構造函數。

在代碼中:

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

然后在派生中使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM