实验步骤以及要求:
一、设计一个立体图形类(CStereoShape类),并满足如下要求:
1、 CStereoShape类有一个纯虚函数GetArea,能够获取立方体的表面积。
2、CStereoShape类有一个纯虚函数GetVolum,能够获取立方体的体积;
二、设计一个立方体类(CCube类),该类继承于CStereoShape类,功能如下:
(1)CCube类有一个带参数的构造函数,其参数分别对应于立方体的长、宽、高。用一个成员函数来实现对立方体长、宽、高的设置。
(2)、重载CStereoShape类的GetArea和GetVolume,分别完成立方体的表面积和体积的计算。
三、设计一个球体类(CSphere),该类继承于CStereoShape类,功能如下:
1、 CSphere类有一个带参数的构造函数,其参数对应于球体的半径。
2、用一个成员函数来实现对球体半径的设置。
3、重载CStereoShape类的GetArea和GetVolume,分别完成球体的表面积和体积的计算。
四、实现一个main函数,在main函数中至少完成如下工作:
1、实例化一个CCube类的对象a_cube和CSphere对象c_sphere;
2、定义一个CStereoShape类的指针p;
3、将a_cube的长、宽和高分别设置为4、5和6;
4、将p指向a_cube,通过p将a_cube的表面积和体积打印到屏幕上;
5、将c_sphere的半径设置为7;将p指向c_sphere,通过pc_sphere的表面积和体积打印到屏幕上。
6、构造一个链表,链表每个结点存储CStereoShape类的指针,每个指针指向CCube、CSphere或者CSphere类的对象,计算所有对象的体积之和。
图形、立方体、球体的类定义如下:
class CStereoShape //图形类
{
public:
virtual double GetArea() = 0;
virtual double GetVolumn() = 0;
};
class CCube :public CStereoShape //立方体类
{
private:
double length;
double width;
double height;
public:
CCube(double l = 0, double w = 0, double h = 0)
{
width