定义
纯虚函数(Pure Virtual Function)是面向对象编程中的一个概念,它是一个在基类(抽象类)中声明但没有提供实际实现的虚函数。纯虚函数用于定义一个接口,要求派生类必须实现这个函数,以确保派生类具备某些特定的行为或能力。在C++中,通过在函数声明后面添加 "= 0" 来将函数声明为纯虚函数。
在这里还要明确一个概念叫做抽象类,包含至少一个纯虚函数的类被称为抽象类。抽象类不能被实例化,只能被用作基类。如果一个类包含了一个或多个纯虚函数,它就不能被实例化,只有派生类提供了纯虚函数的实现后,才能创建派生类的对象。
作用
纯虚函数用于定义基类的接口,强制派生类提供相应的实现。这有助于实现多态性和抽象类的概念,允许不同的派生类按照自己的方式实现基类的接口。
使用示例:
class A {
public:
virtual void draw() = 0; // 纯虚函数
};
然后派生类必须提供纯虚函数的实际实现,否则它们也会被认为是抽象类,无法被实例化。示例如下 :
class B : public A {
public:
void draw() override {
// 提供了draw的实现
}
};
这里需要注意,纯虚函数是可以有参数和返回值的,他只是在类中作声明而无定义即没有函数体,但是其参数和返回值都可以存在添加。
然后关于抽象类,首先抽象类是一个Class类,他只是至少包含一个纯虚函数,所以它也是可以有自己的成员变量和普通函数成员的,但是由于一个类只要含有纯虚函数,就不能进行实例化,所以抽象类的概念就此诞生。
最后,写文不易,不收藏也请给个赞,谢谢亲~!
(本文仅供学习时参考,如有错误,纯属作者技术不到位,不足之处请多指教,谢谢)