c++ override overwrite overload
|
Overload 重载 |
在C++程序中,可以将语义、功能相似的几个函数用同一个名字表示,但参数不同(包括类型、顺序不同),即函数重载。 |
|
Override 覆盖 |
指派生类函数覆盖基类函数,特征是: |
|
Overwrite 重写 |
是指派生类的函数屏蔽了与其同名的基类函数,规则如下: (2)如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual关键字。此时,基类的函数被隐藏(注意别与覆盖混淆) |
|
C++11 override关键字 |
在 C++11中,可以使用新的 override关键字,让程序员明确表明他对于重写的设计意图,增加代码的可读性。例如: class Parent { public: virtual void show() { cout<<" Parent "<<endl; } }; class Child:public Parent { public: void show() override { cout<<" Child "<<endl; } }; |
|
C++11 final关键字 |
有时候,程序员可能想要阻止某个虚函数被重写,在这种情况下,他可以为虚函数加上final关键字来达到这个目的。例如: class Parent { public: virtual void show() final { cout<<"Parent"<<endl; } }; class Child:public Parent { public: void show() override { cout<<"Child"<<endl; } } 编译器报错:
|

浙公网安备 33010602011771号