Fork me on GitHub

C++ 虚函数表与多态 —— 关键字 override 的用法

override 仅能用于虚函数,他属于C++新特性,是重写覆盖的意思,他的存在仅仅是为了提高代码的可阅读性:

作用:

1. 提示程序的阅读者,这个函数是重写父类的功能。

2. 防止程序员在重写父类的函数时,把函数名写错。

 

如下代码:

 1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 class Class_1
 6 {
 7     virtual void func()    
 8     {
 9         cout << "AAA" << endl;
10     }
11     
12 };
13 
14 class Class_2 :public Class_1
15 {
16     void func() override            //方法后加 override,可以方便程序员阅读代码,知道这方法是重写的,不用回去找
17     {
18         cout << "BBB" << endl;
19     }
20 };

 

再比如:

 1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 class Class_1
 6 {
 7     virtual void func()    
 8     {
 9         cout << "AAA" << endl;
10     }
11     
12 };
13 
14 class Class_2 :public Class_1
15 {
16     void func_1() override            //方法后加 override,如果重写的方法名称写错,书写警告:C++ 使用“override”声明的成员函数不能重写基类成员
17     {
18         cout << "BBB" << endl;
19     }
20 };

注意:在方法声明后加 override 修饰便可,不需在方法实现的后方增加。

 

 

 

 

 

 

 

==========================================================================================================================

posted @ 2020-03-30 01:29  索智源  阅读(1235)  评论(0编辑  收藏  举报