计算正方体长方体体积

使用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;
}