c++

C++抽象类怎样调用

小樊
81
2024-11-09 04:39:32
栏目: 编程语言

在C++中,抽象类是不能直接实例化的。要调用抽象类中的成员函数,您需要创建一个从抽象类派生的子类,并在子类中实现抽象类中的纯虚函数。然后,您可以创建子类的对象并调用其成员函数。以下是一个简单的示例:

#include <iostream>

// 抽象类 Shape
class Shape {
public:
    // 虚析构函数,以便在删除基类指针时正确调用派生类的析构函数
    virtual ~Shape() {}

    // 纯虚函数,计算面积
    virtual double area() const = 0;
};

// 从 Shape 类派生的 Circle 类
class Circle : public Shape {
public:
    // 构造函数,接受半径作为参数
    Circle(double radius) : radius_(radius) {}

    // 实现抽象类中的纯虚函数 area
    double area() const override {
        return 3.14159 * radius_ * radius_;
    }

private:
    double radius_;
};

int main() {
    // 由于抽象类不能直接实例化,我们需要创建一个子类对象
    Circle circle(5.0);

    // 调用子类中的成员函数 area
    std::cout << "The area of the circle is: " << circle.area() << std::endl;

    return 0;
}

在这个例子中,我们定义了一个抽象类Shape,其中包含一个纯虚函数area()。然后,我们创建了一个从Shape类派生的Circle类,并实现了area()函数。在main()函数中,我们创建了Circle类的对象,并调用了其area()成员函数。

0
看了该问题的人还看了