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

C++ 通过指针实现多态实例详解

作者:野牛程序员:2024-01-22 17:55:20 C++阅读 2626

通过指针实现多态是 C++ 中面向对象编程的一个重要概念。多态允许基类的指针或引用在运行时指向派生类的对象,从而实现动态绑定和调用相应的派生类方法。以下是一个简单的例子,演示了如何通过指针实现多态:

#include <iostream>

// 基类
class Shape {
public:
    // 虚函数,用于实现多态
    virtual void draw() const {
        std::cout << "Drawing a shape." << std::endl;
    }
};

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

// 派生类 Square
class Square : public Shape {
public:
    // 重写基类的虚函数
    void draw() const override {
        std::cout << "Drawing a square." << std::endl;
    }
};

int main() {
    // 创建基类指针
    Shape* shapePtr;

    // 创建 Circle 对象并将指针指向它
    Circle circle;
    shapePtr = &circle;
    shapePtr->draw();  // 动态调用 Circle 的 draw 函数

    // 创建 Square 对象并将指针指向它
    Square square;
    shapePtr = &square;
    shapePtr->draw();  // 动态调用 Square 的 draw 函数

    return 0;
}

在这个例子中,Shape 是基类,而 CircleSquare 是两个派生类。通过将基类指针指向不同派生类的对象,可以在运行时动态调用相应的派生类方法。


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

最新推荐

热门点击