c++ 调用纯虚函数
    在C++的面向对象编程中,纯虚函数是一种特殊的虚函数,它没有函数体,需要子类实现。如果一个类有纯虚函数,那么这个类就是抽象类,不能被实例化。在使用纯虚函数时,需要注意以下几点:
    1. 纯虚函数的声明方式:在函数原型后面加上“= 0”,例如:
    ```
    virtual void func() = 0;
    ```
    2. 子类必须实现纯虚函数:如果一个类继承了一个抽象类,那么它必须实现抽象类中的所有纯虚函数,否则它也是个抽象类。
    3. 抽象类不能被实例化:抽象类只能用作父类,不能被实例化。
    下面是一个例子,演示如何在子类中实现纯虚函数的调用:
    ```c++
    #include <iostream>
    using namespace std;
    class Shape {
    public:
    virtual void draw() = 0; // 纯虚函数
    };
    class Rectangle : public Shape {
    public:
    void draw() {
    cout << 'Rectangle::draw()' << endl;
    }
    };
    int main() {
    Shape *shape = new Rectangle();
    shape->draw();
    delete shape;
    return 0;
    }
    ```
    这个例子中,我们定义了一个抽象类 Shape 和一个子类 Rectangle,Rectangle 继承了 Shape 并实现了其中的纯虚函数 draw。在主函数中,我们通过 Shape 类型的指针指向 Rect
angle 对象并调用 draw() 函数,输出了“Rectangle::draw()”。注意,我们不能直接实例化 Shape 对象,因为它是抽象类。
多态性与虚函数
    总之,在 C++ 中调用纯虚函数需要在子类中实现,否则子类也会变成抽象类。通过抽象类可以实现多态性和接口隔离等面向对象编程的重要概念。