子类虚函数调用父类虚函数
时间: 2023-09-01 17:10:57 浏览: 132
基类子类虚函数的调用顺序问题
5星 · 资源好评率100%
在子类中重写父类的虚函数时,可以使用关键字“override”来明确表示这是一个重写函数,然后在子类中调用父类的虚函数可以使用关键字“Base::”加上父类的函数名来调用。例如:
```cpp
class Base {
public:
virtual void func() {
cout << "This is the base class." << endl;
}
};
class Derived : public Base {
public:
void func() override {
Base::func(); // 调用父类的虚函数
cout << "This is the derived class." << endl;
}
};
int main() {
Base* b = new Derived();
b->func(); // 调用Derived类的虚函数
delete b;
return 0;
}
```
输出结果为:
```
This is the base class.
This is the derived class.
```
在Derived类的func函数中,先调用了父类的func函数,然后再输出Derived类的信息。这里通过指向Derived类对象的Base指针来调用虚函数,因此会先调用Derived类的虚函数,然后再调用Base类的虚函数。
阅读全文