[英]How can I implement derived-class constructors by reusing base-class constructors?
[英]How to manage base-class instances and derived-class instances in one vector?
問題:
我有一個類,可以說是mainClass
。 現在,我創建其他兩個類,並讓它們從基類繼承。
因此,我想管理任何基類或繼承類的所有實例,並將它們存儲在例如向量中(如果它不起作用,則不必是向量)。
std::vector<mainClass*>
確實接受繼承類的所有實例,但是我不能訪問那些在繼承類中新聲明的函數,只能訪問那些也是基類成員的函數。
有沒有辦法解決這個問題,也許有模板? 還是我忽略了一些簡單的事情?
繼承的目的是允許通過基類調用派生類的方法。 為此,基類將方法定義為virtual
。 如果您將需要在派生類中調用的所有方法定義為基類中的virtual
,則可以通過mainClass*
調用它們。
如果不這樣做,則必須知道哪個實例屬於哪個類,並進行強制轉換。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.