博客 / 詳情

返回

override

override 學過Java的小夥伴們應該不陌生,這個關鍵字就類似Java中的註解@override

確保在子類中聲明的重寫函數與基類的虛函數有相同的簽名,同時也明確表明將會重寫基類的虛函數,這樣就可以保證重寫的虛函數的正確性,也提高了代碼的可讀性;

override和final一樣這個關鍵字要寫到方法的後面。

#include <iostream>
using namespace std;

class Base {
public:
	virtual void test() {
		cout << "dddd" << endl;
	}
};
class Chile :public Base {
public:
	void test() {
		cout << "Chile class...." << endl;
	}
};
class GrandChile : public Chile {
public:
    //void test13() override{ //報錯:使用override的成員函數沒有可重寫的內容。
    //}
	void test() override{
		cout << "GrandChile class...." << endl;
	}
};
int main() {
	system("pause");
	return 0;
}

就如上面的代碼,如果加了test13()加了override就會報錯,提示開發者這裏不是重寫,如果不加override,這裏就會定義一個新的名為test13()的函數,和開發者的意願不同。

override只是為了提高了程序的正確性,降低了出錯的概率。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.