class A {
public: virtual void start() = 0;
};
class B : public A {
public: void start();
};
class Ba : public B {
};
我們是否需要重新定義或父母的start()就足夠了?BaB::start()
uj5u.com熱心網友回復:
父母的start()就夠了。
您應該使用 override 關鍵字來重新實作 B:
class B : public A {
public: void start() override;
};
它清楚地表明該方法是虛擬方法的實作,編譯器將強制它始終如此,即使未來對類 A 進行更改。
uj5u.com熱心網友回復:
首先你的宣告: public: void start(); 將是有問題的,因為必須覆寫派生類中的純虛函式,否則派生類也會變得抽象。
從你的實際問題 B 開始就足夠了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/424205.html
下一篇:如何從繼承的類中獲取新的變數值?
