override
是 C++11 引入的一个关键字,用于显式声明派生类中重写(override)基类中的虚函数。这不仅使代码更具可读性,还能帮助编译器检查错误。下面是 override
关键字的详细说明。
1. 基本概念
虚函数的重写
- 当一个派生类重新定义了基类中的虚函数时,这个过程被称为“重写”。
- 重写是多态性的重要组成部分,使得程序在运行时可以根据对象的实际类型调用适当的函数版本。
override
关键字
override
关键字用于显式表明一个函数是重写基类中的虚函数。- 使用
override
关键字的函数必须匹配基类中的函数签名(包括返回类型、参数类型等)。如果有任何不匹配,编译器会报错。
2. 用法示例
基本用法
#include <iostream>
class Base {
public:
virtual void show() const {
std::cout << "Base class show function" << std::endl;
}
};
class Derived : public