C++如何重载虚函数,并在重载的虚函数中调用原来那个虚函数
时间: 2024-08-15 20:03:37 浏览: 64
在C++中,虚函数是在基类中声明为虚的,并且可以在派生类中被重载的一种特殊成员函数。当你需要在基类指针或引用指向的对象上调用正确的版本(由实际对象类型决定)的函数时,就使用虚函数。以下是虚函数的基本用法:
1. 宣声明虚函数:
```cpp
virtual return_type function_name(parameters) override;
```
`override` 关键字用于确保你正在覆盖的是基类中的虚函数,而不是一个非虚同名函数。
2. 在基类中定义虚函数:
```cpp
class Base {
public:
virtual void original_function() {
// 原始函数体
}
};
```
3. 重载虚函数:
在派生类中,你可以提供不同的实现:
```cpp
class Derived : public Base {
public:
// 这里重写了虚函数
virtual void original_function() override {
// 重载后的函数体,可以在此调用原函数
Base::original_function();
// ...其他操作...
}
};
```
这里,`Base::original_function();` 是在派生类的重载函数中调用了原来那个虚函数。
阅读全文