当前位置:首页 C++ > 正文

c++有虚函数的类叫什么

作者:野牛程序员:2023-08-01 17:48:26 C++阅读 2398

在 C++ 中,包含至少一个虚函数的类被称为“多态类”(Polymorphic Class)。多态类是实现多态性的基础,允许通过基类指针或引用来调用派生类的虚函数,从而实现运行时动态绑定。

多态类通常是一个抽象类,也就是包含至少一个纯虚函数(用 virtual 关键字声明并赋值为 0 的函数)的类。抽象类不能被实例化,它只能被用作基类,派生类必须实现所有纯虚函数,否则它们也会成为抽象类。

以下是一个简单的例子,展示了一个多态类的定义:

#include <iostream>

class Shape {
public:
    virtual void draw() = 0; // Pure virtual function
};

class Circle : public Shape {
public:
    void draw() override {
        std::cout << "Drawing a circle." << std::endl;
    }
};

class Square : public Shape {
public:
    void draw() override {
        std::cout << "Drawing a square." << std::endl;
    }
};

int main() {
    Circle circle;
    Square square;

    Shape* shapePtr1 = &circle;
    Shape* shapePtr2 = &square;

    shapePtr1->draw(); // Output: "Drawing a circle."
    shapePtr2->draw(); // Output: "Drawing a square."

    return 0;
}

在上面的示例中,Shape 类是一个多态类,它包含了一个纯虚函数 draw()CircleSquare 类分别继承自 Shape 类,并实现了 draw() 函数。我们通过基类指针 shapePtr1shapePtr2 来调用派生类的虚函数 draw(),实现了运行时的多态行为。

总结起来,拥有至少一个虚函数的类被称为多态类,它通过虚函数实现了运行时的多态性。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击