我想要你通过c++举例
时间: 2024-10-07 10:03:26 浏览: 24
C++新特性介绍及举例
在C++中,多态可以通过虚函数(Virtual Functions)和继承机制来实现。例如,我们有一个基类`Shape`,它有两个派生类`Circle`和`Rectangle`:
```cpp
class Shape {
public:
virtual double getArea() const = 0; // 虚函数声明,要求派生类覆盖
};
class Circle : public Shape {
private:
double radius;
public:
Circle(double r) : radius(r) {}
double getArea() const override { return 3.14 * radius * radius; }
};
class Rectangle : public Shape {
private:
double width, height;
public:
Rectangle(double w, double h) : width(w), height(h) {}
double getArea() const override { return width * height; }
};
```
在这个例子中,`getArea()`是一个虚函数,它的行为在每个子类中都不同。当我们创建`Shape`类型的指针,并用它指向`Circle`或`Rectangle`实例时,可以调用`getArea()`并得到正确的面积计算结果,这就是动态绑定(Run-Time Polymorphism)。
阅读全文