在子類繼承父類后,要重寫父類虛函數(shù)的時候,函數(shù)聲明時,墻裂!墻裂!墻裂!推薦加上override關鍵字。
有這么個場景//animal.h
class Animal{public:
virtual void eat();
}
class Cat : public Animal{public:
void ate();
}
這是兩個類的聲明,本意是子類想將父類的虛函數(shù)重寫。因為父類當中的虛函數(shù)不是純虛的,子類在聲明的時候,可能由于筆誤,把函數(shù)名寫錯了,本質上相當于定義了一個新的函數(shù)。
當我們采用下面這種寫法
class Animal{public:
virtual void eat();
}
class Cat : public Animal{public:
void ate() override;
}
override關鍵字相當于告訴了編譯器,這個函數(shù)是我從父類繼承下來的,我一會要重寫了,然而在編譯時,發(fā)現(xiàn)父類中并沒有名字叫ate的函數(shù),就報錯啦,咱就能去改了,成功避免埋了一顆地雷。
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧