[英]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.