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只是为了提高了程序的正确性,降低了出错的概率。

posted @ 2025-12-23 22:09  ProMonkey;  阅读(8)  评论(0)    收藏  举报