多态性与虚函数
1. 多态性的概念
多态性是面向对象编程中的一项重要特性,它允许使用一个接口来表示不同的类型,并在运行时确定具体调用哪个实现。这种灵活性使得代码更易于扩展和维护。C++中的多态性主要通过虚函数(virtual functions)来实现,虚函数支持动态绑定或晚期绑定,使得派生类可以重写基类中的函数,从而实现多态行为。
多态性的核心思想是通过基类的指针或引用来调用派生类的方法。这不仅提高了代码的可读性和可维护性,还增强了程序的灵活性。例如,我们可以通过一个基类指针调用多个派生类的不同实现,而无需关心具体的派生类类型。
示例:多态性的简单应用
假设我们有一个基类 Shape
和几个派生类 Circle
、 Rectangle
和 Triangle
,每个派生类都有自己的 draw()
方法。通过基类指针或引用来调用 draw()
方法,C++会自动选择正确的派生类方法执行。
#include <iostream>
using namespace std;
class Shape {
public:
virtual void draw() = 0; // 纯虚函数
};
class Circle : public Shape {
public:
void draw() override {
cout << "Drawing Circle