C++11的final和overrid关键字

final主要又两个作用:

1)class ClassName final ...  这个关键字可以防止 类被继承

2)virtual void FunctionName()final... 也可以防止子类来重写从父类继承来的虚函数(再父类的函数声明后加上即可)

override的作用

1)防止粗心大意,是程序员总会有粗心的时候,比如函数名字写错了,当你要重写父类的虚函数时,加上这个关键字可以防止出错(建议都加上)

2)当你重写从父类继承下来的虚函数时,你重写的函数定义不会覆盖原来的函数定义,但是你调用的时候又调用的时你新写的函数,那么原来的函数定义去哪里了呢?其实是编译器把他隐藏了。用了 这个关键字override你新的定义会把原来的定义覆盖掉,从某种程度上也是节约了资源,(推荐使用)

猜你喜欢

转载自blog.csdn.net/qq_44065088/article/details/104376106