class Base
{
protected:
float square;
public:
Base(): square(0.0) {}
virtual void calSquare() = 0;
};
class Square: public Base
{
private:
float length;
public:
Square(float len): length(len)
{}
virtual void calSquare()
{
square = length * length;
cout << "正方形面积是 " << square << endl;
}
};
class Triangle: public Base
{
private:
float bottom, height;
public:
Triangle(float bot, float hei): bottom(bot), height(hei)
{}
virtual void calSquare()
{
square = bottom * height / 2;
cout << "
三角形面积是 " << square << endl;
}
};
class Circle: public Base
{
private:
float radius;
public:
Circle(float r): radius(r)
{}
virtual void calSquare()
{
square = radius * radius * 3.1415926;
cout << "
圆形面积是 " << square << endl;
}
};
void main()
{
Square s(4);
Triangle t(2, 3);
Circle c(2.5);
s.calSquare();
t.calSquare();
c.calSquare();
}