在C++中,当一个类继承另一个类时,它可以决定是否覆盖或实现被继承类的纯虚函数
#include <iostream>
// 基类(父类)
class Base {
public:
// 声明一个纯虚函数
virtual void pureVirtualFunction() = 0;
};
// 派生类(子类),继承自Base
class Derived : public Base {
public:
// 实现基类中的纯虚函数
void pureVirtualFunction() override {
std::cout << "Derived class implements the pure virtual function." << std::endl;
}
};
int main() {
// 由于Base类包含纯虚函数,因此不能创建其实例
// Base base; // 错误
// 创建一个Derived类的实例
Derived derived;
// 调用纯虚函数
derived.pureVirtualFunction();
return 0;
}
在这个例子中,Base
类包含一个纯虚函数pureVirtualFunction()
,这意味着它不能被实例化。Derived
类继承自Base
类,并实现了pureVirtualFunction()
函数。在main()
函数中,我们创建了一个Derived
类的实例,并调用了pureVirtualFunction()
函数。