C++ 通过指针实现多态实例详解
作者:野牛程序员:2024-01-22 17:55:20 C++阅读 2927
通过指针实现多态是 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++中回调函数及函数指针的实例详解
