查看: 90|回覆: 0

override

[複製鏈接]

1

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2010-8-10
發表於 2025-12-23 22:09:00 | 顯示全部樓層 |閲讀模式

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



来源:https://www.cnblogs.com/ggkx/p/19389343
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部