錯誤在這裏:C++訪問抽象類的指針向量的子類的成員
Rocket.cpp:31:16: error: no member named 'getThrust' in 'RocketPart'
rocket[0]->getThrust();
當我想從Engine
類在vector<RocketPart*> rocket
訪問getThrust()
與rocket[i]->getThrust()
,我從我的問題上得到錯誤信息。 我在做什麼錯?是否有可能通過火箭[索引] - > getThrust()訪問它?
我可以使用rocket.addPart()方法輕鬆添加Engine *引擎嗎?還是我必須將它轉換回RocketPart *? – user3653164
是的,你可以!因爲'Engine'是'RocketPart'的派生類,所以接受'RocketPart'的任何函數都可以傳入'Engine'。這意味着你也可以將'Engine'push_back爲'std :: vector' –
Tas
謝謝你和其他人幫助我! – user3653164