编写一个程序,定义抽象基类Shape,由它派生出5个派生类:Cricle(圆形),Square(正方形), Rectangle(矩形), Trapezoid (梯形),Triangle(三角形)
以下是此题的【c++源代码】
#include <iostream>
using namespace std;
//定义抽象基类Shape
class Shape
{public:
virtual double area() const =0; //纯虚函数
};
//定义Circle(圆形)类
class Circle:public Shape
{public:
Circle(double r):radius(r){} //结构函数
virtual double area() const {return 3.14159*radius*radius;}; //定义虚函数
protected:
double radius; //半径
};
//定义Square(正方形)类
class Square:public Shape
{public:
Square(double s):side(s){} //结构函数
virtual double area() const {return side*side;} //定义虚函数
protected:
double side;
};
//定义Rectangle(矩形)类
class Rectangle:public Shape
{public