救命啊 谁能在一小时内给我答复啊 c++问题

来源:百度知道 编辑:UC知道 时间:2024/06/07 04:27:42
定义一个三角形类Triangle为基类,数据为底边长和高。
定义派生类梯形类Trapezoid,数据再加上上底长,功能有:构造函数,析构函数,求面积的double area()和
输出基本数据的void print(),在主函数中定义一个Triangle指针数组,在函数input中
混杂输入若干个三角形和梯形(动态对象),保存入数组,输出形式:triangle 底边长 高
或trapezoid 上底长 底边长 高
或over
在函数output中输出数组保存的三角形或梯形基本数据和面积,统计数组中梯形的个数并输出,在函数del中析构所有的对象。

#include
class container //抽象类
{
protected:
double radius;
public:
container(double radius)
{
container:: radius=radius;
}
virtual double surface_area()=0; //纯虚函数
virtual double volume()=0; //纯虚函数
};
class cube: public container //定义正方体类
{
public:
cube(double radius):container(radius) {};
double surface_area()
{
return radius*radius*6;
}
double volume()
{
return radius*radius*radius;
}
};
class sphere: public container //定义球体类
{
public:
sphere(double radius): container(radius) {};
double surface_area()
{
return 4*3.1415926*radius*radius;
}
double volume()
{
return 3.1415926*radius*radius*radius*4/3;
}
};
class cylinder: public container //定义圆柱体
{
double height;
public:
cylinder(double radius, double height): container(radius)
{
cylinder:: height=height;
}<