final与override

final和override是C++是C++11新引入的两个关键字,让我们来了解一下这两个关键字的作用
final:final需要放在或者虚函数的后面,如果放在类的后面,指明该类不能够继承(或者说不能有派生类),放在虚函数后面指明该虚函数不能在被重写,最终的实现形式止于该类
override:明确函数的意图,能够让编辑器帮助你检查重写是否正确(简单来说能防止你打错字),如果不正确编译器就会报错,减少错误的可能,提高可读性

使用这两个关键字能有效的提高代码的可读性并减少出错的可能

使用示例

#include <iostream>

class base {
public:
	virtual void func1() {};
	virtual void func2() {};
};

class child : public base {
public:
	void func1() override {};
	void func2() override final{};
};

class GrandChild final : public child {
public:
	//void fun3() override {};//错误,与基类声明不一致,无法重写
	//void func2() override {};//错误,func2在child中限定为final,无法在子类中重写
};

//class GrandGrandChild : public GrandChild {//错误,GrandChild以及被限定为final,不能重写
//
//};

int main()
{

	return 0;
}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值