纯虚函数在 c++ 中的作用是强制派生类实现特定功能,并允许派生类以不同方式实现同一接口,实现多态行为,具体表现为:强制派生类实现:确保所有派生类都提供所需的函数实现。实现多态行为:不同派生类可以以不同方式实现同一接口,通过基类指针或引用调用时,调用的是派生类中的特定实现。

C++ 中纯虚函数的作用
纯虚函数是 C++ 中一种特殊类型的虚函数,它只包含一个纯声明而没有函数体。纯虚函数的声明中使用 = 0 结束。
作用
立即学习“C++免费学习笔记(深入)”;
纯虚函数有两个主要作用:
- 强制派生类实现: 纯虚函数迫使从其派生的所有类都必须提供该函数的实现。这确保了所有派生类都提供了所需的功能。
- 实现多态行为: 纯虚函数允许派生类以不同的方式实现同一接口。当通过基类指针或引用调用纯虚函数时,调用的是派生类中特定的实现。
语法
纯虚函数的语法如下:
virtual <return-type> function-name() = 0;
例如:
class Shape {
public:
virtual void draw() = 0;
};实战案例
考虑一个用于绘制不同形状的程序。我们可以使用一个包含 draw() 纯虚函数的基类 Shape。每个派生类(例如 Rectangle、Circle)都必须实现 draw() 函数来绘制特定形状。
以下是一个实现上述概念的示例代码:
#include <iostream>
class Shape {
public:
virtual void draw() = 0;
};
class Rectangle : public Shape {
public:
void draw() override {
std::cout << "Drawing a rectangle" << std::endl;
}
};
class Circle : public Shape {
public:
void draw() override {
std::cout << "Drawing a circle" << std::endl;
}
};
int main() {
Shape* rectangle = new Rectangle();
rectangle->draw(); // 输出: Drawing a rectangle
Shape* circle = new Circle();
circle->draw(); // 输出: Drawing a circle
return 0;
}










