如何在 C++纯虚类中定义函数

avatar
作者
筋斗云
阅读量:0

在 C++ 中,可以在纯虚类中定义函数的实现。纯虚类是包含至少一个纯虚函数的抽象类,而纯虚函数是在基类中声明但没有实现的虚函数。

以下是在 C++ 中在纯虚类中定义函数的方法:

#include <iostream>  class AbstractClass { public:     // 纯虚函数     virtual void pureVirtualFunction() = 0;      // 定义一个普通函数     void normalFunction() {         std::cout << "This is a normal function in the abstract class" << std::endl;     } };  // 在纯虚类外部实现纯虚函数 void AbstractClass::pureVirtualFunction() {     std::cout << "This is the implementation of the pure virtual function" << std::endl; }  int main() {     AbstractClass* obj = nullptr;     // AbstractClass obj; // 错误,抽象类不能被实例化      // 正确,通过继承实现纯虚函数     class ConcreteClass : public AbstractClass {     public:         // 实现纯虚函数         void pureVirtualFunction() override {             std::cout << "This is the implementation of the pure virtual function in the concrete class" << std::endl;         }     };      ConcreteClass concreteObj;     obj = &concreteObj;      // 调用纯虚函数和普通函数     obj->pureVirtualFunction();     obj->normalFunction();      return 0; } 

在上面的示例中,我们在抽象类 AbstractClass 中定义了一个普通函数 normalFunction 的实现。然后,在抽象类外部实现了纯虚函数 pureVirtualFunction。最后,在一个具体的类 ConcreteClass 中实现了纯虚函数。通过继承 AbstractClass,我们可以创建一个具体类对象,并调用纯虚函数和普通函数。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!