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 = □ shapePtr->draw(); // 动态调用 Square 的 draw 函数 return 0; }
在这个例子中,Shape
是基类,而 Circle
和 Square
是两个派生类。通过将基类指针指向不同派生类的对象,可以在运行时动态调用相应的派生类方法。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:C++ 单例模式的详解及实例
- 下一篇:C++中回调函数及函数指针的实例详解