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

C++ 中的多态行为

作者:野牛程序员:2023-12-27 12:35:46 C++阅读 2551

C++ 中的多态行为是通过使用虚函数(virtual functions)和继承来实现的。在C++中,多态性使得一个基类的指针或引用能够在运行时指向派生类的对象,并且能够调用相应的虚函数。这有助于实现运行时动态绑定,使得程序能够根据实际对象的类型来调用正确的函数。

下面是一个简单的例子,演示了多态性的基本概念:

#include <iostream>

// 基类
class Shape {
public:
    // 虚函数
    virtual void draw() const {
        std::cout << "Drawing a Shape" << std::endl;
    }
};

// 派生类
class Circle : public Shape {
public:
    // 覆盖基类的虚函数
    void draw() const override {
        std::cout << "Drawing a Circle" << std::endl;
    }
};

class Square : public Shape {
public:
    // 覆盖基类的虚函数
    void draw() const override {
        std::cout << "Drawing a Square" << std::endl;
    }
};

int main() {
    // 使用基类指针实现多态
    Shape* shapePtr;

    Circle circle;
    Square square;

    shapePtr = &circle;
    shapePtr->draw();  // 动态调用 Circle 类的 draw 函数

    shapePtr = &square;
    shapePtr->draw();  // 动态调用 Square 类的 draw 函数

    return 0;
}

在这个例子中,Shape 类有一个虚函数 draw(),而 CircleSquare 类都继承自 Shape 类并覆盖了 draw() 函数。通过使用基类指针 Shape*,能够在运行时指向不同的派生类对象,并调用相应的虚函数,实现多态行为。

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

最新推荐

热门点击