在C++中,覆盖(Override)是指子类提供特定于其自身实现的基类虚函数。为了实现覆盖操作,你需要遵循以下步骤:
下面是一个简单的示例,演示了如何在C++中覆盖基类的虚函数:
#include <iostream>
// 基类
class Base {
public:
virtual void display() {
std::cout << "Display from Base class" << std::endl;
}
};
// 子类
class Derived : public Base {
public:
// 覆盖基类的虚函数
void display() override {
std::cout << "Display from Derived class" << std::endl;
}
};
int main() {
Base* basePtr = new Derived(); // 指向子类的指针指向基类对象
basePtr->display(); // 调用子类覆盖的display函数
delete basePtr;
return 0;
}
在这个示例中,我们创建了一个名为Base
的基类,其中包含一个名为display
的虚函数。然后,我们创建了一个名为Derived
的子类,该类继承自Base
并覆盖了display
函数。在main
函数中,我们创建了一个指向Derived
对象的基类指针,并通过该指针调用覆盖后的display
函数。