c++的override关键字如何使用
在C++中,`override`关键字用于显式地唆使一个成员函数是覆盖(override)基类中的虚函数。它的使用方法以下:
1. 基类中的虚函数声明:在基类中,将要被派生类覆盖的虚函数声明为`virtual`。
```cpp
class Base {
public:
virtual void foo();
};
```
2. 派生类中的函数声明:在派生类中,重写基类中的虚函数,并使用`override`关键字。
```cpp
class Derived : public Base {
public:
void foo() override;
};
```
请注意,使用`override`关键字的函数声明一定要满足以下条件:
- 函数名、参数列表和const限定符(如果有)一定要与基类中的虚函数完全匹配。
- 如果在基类中的虚函数声明中使用了`const`限定符,那末在派生类中的重写函数声明也一定要使用`const`限定符。
- 如果在基类中的虚函数声明中使用了`final`关键字标记函数为终究函数,那末在派生类中不可使用`override`关键字来覆盖该函数。
使用`override`关键字可以提高代码的可读性,并帮助编译器在派生类中检查是否是正确地覆盖了基类中的虚函数。如果在派生类中使用了`override`关键字,但是该函数并没有覆盖基类中的虚函数,编译器会发出毛病提示。
TOP