使用C++语言编写程序,计算出正方体和长方体的体积,要求:
(1)定义一个形状基类Shape ,至少含有两个数据成员。
(2)定义基类的派生类:正方体、长方体,都含有求体积的成员函数。
(3)定义主函数,求正方体和长方体的体积。
(4)每个类都有其构造函数与析构函数。
代码如下:如有帮助,请采纳一下,谢谢。
#include <iostream>
using namespace std;
//定义shape类
class Shape
{
private:
int length; //长
int width; //宽
public:
Shape(int a,int b)//构造函数,用a和b初始化形状的长和宽
{
length = a;
width = b;
}
~Shape(){}
virtual double getV() = 0; //声明一个虚函数,求形状的体积,由子类实现
int getLength(){return length;}//获取形状的长
int getWidth(){return width;}//获取形状的宽
};
//定义立方体类
class Lifangti :public Shape
{
private:
int height; //立方体有一个高度属性
public:
Lifangti(int a):Shape(a,a){height = a;}//立方体类使用形状类的构造函数,初始化长和宽,并设置高度,因为立方体的长宽高相等,所以用一个数初始化长宽高
~Lifangti(){}//析构函数,因为没有资源需要释放,所以什么都不用做
double getV(){return getLength() * getWidth() * height;}//计算立方体的体积
};
//定义长方体类
class Changfangti :public Shape
{
private:
int height;//长方体有一个高度属性
public:
Changfangti(int a,int b,int c):Shape(a,b){height = c;}//长方体类使用形状类的构造函数,初始化长和宽,并设置高度
~Changfangti(){}//析构函数,因为没有资源需要释放,所以什么都不用做
double getV(){return getLength() * getWidth() * height;}//求长方体的体积,长*宽*高
};
int main()
{
Lifangti lf(4);//创建一个立方体实例,边长是4
Changfangti cf(3,4,5);//创建一个长方体实例,长3宽4高5
cout << "边长为4的立方体体积:" << lf.getV() << endl;
cout << "长3宽4高5的长方体体积:" << cf.getV() << endl;
return 0;
}