#include<iostream>
using namespace std;
class Shape
{
public:
virtual float area()const=0;
};
class Circle:public Shape
{
public:
Circle(double a):r(a){}
virtual float area()const{return 3.14*r*r;}
private:
double r;
};
class Rectangle:public Shape
{
public:
Rectangle(double a,double b):l(a),w(b){}
virtual float area()const{return l*w;}
private:
double l;
double w;
};
class Triangle:public Shape
{
public:
Triangle(double a,double b):d(a),h(b){}
virtual float area()const{return (d*h)/2;}
private:
double d;
double h;
};
void printArea(const Shape &s1)
{
cout<<()<<endl;
}
int main()
{
Circle c1(6.5);
cout<<"圆面积=";
printArea(c1);
Rectangle r1(3,6);
cout<<"矩形面积=";
printArea(r1);
Triangle t1(4,2);
cout<<"三角形面积=";
printArea(t1);
}