阅读量: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
,我们可以创建一个具体类对象,并调用纯虚函数和普通函数。