一、课堂要点
二、使用示例
#include <iostream>
using namespace std;
class Shape
{
public:
virtual double area() = 0;
};
class Rectangle : public Shape
{
double a;
double b;
public:
Rectangle(double a, double b)
{
this->a = a;
this->b = b;
}
virtual double area()
{
return a * b;
}
};
class Circle: public Shape
{
double r;
public:
Circle(double r)
{
this->r = r;
}
virtual double area()
{
return 3.14 * r * r;
}
};
void area(Shape *p)
{
cout<<"area: "<<p->area()<<endl;
}
int main()
{
Rectangle rectangle(1,2);
Circle circle(3);
area(&rectangle);
area(&circle);
return 0;
}
本文通过 C++ 代码示例介绍了如何实现抽象基类 Shape 和派生类 Rectangle、Circle 的多态特性,展示了不同形状面积的计算方法。
3885

被折叠的 条评论
为什么被折叠?



