最贊回答 / pand0rao
不同繼承方式的影響主要體現在:1、派生類成員對基類成員的訪問控制。2、派生類對象對基類成員的訪問控制。三種繼承方式:1、公有繼承(public)① 基類的public和protected成員的訪問屬性在派生類中保持不變,但基類的private成員不可訪問。② 派生類中的成員函數可以直接訪問基類中的public和protected成員,但不能訪問基類的private成員。③ 通過派生類的對象只能訪問基類的public成員。2、私有繼承(private)① 基類的public和protected成員都以pri...
2019-08-22
最贊回答 / 莫渡
這是因為Worker和Children類中都有從person類繼承的eat,ChildLabourer不知道自己調用的是哪個父類的eat函數。要解決這個問題,就要用到虛繼承,就是把class Worker : public Person和class Children : public Person改成class Worker : virtual public Person和class Children : virtual public Person。具體你可以看這一章的課程。
2019-06-15
最贊回答 / qq_慕仔4162485
這種調用是在父類person和子類soldier中含有同名成員函數或者數據成員時用來區分的。如果直接寫soldier.work()調用的是soldier中的work函數,而從父類繼承來的work函數會被隱藏。若想調用父類繼承來的work函數,在調用時要加上父類名Person
2019-02-15
最新回答 / 小仆仆
protected是保護,,和private有一點區別的? private可以封裝函數訪問,protected(可以被派生類訪問,但不能直接訪問,必須在外部函數或者其他的),,,具體你可以看前面講類的分類這一節。
2019-01-29