C++菜鸟寻求帮助! 关于类的

. 定义一个长方形类CRectangle。其数据成员定义为私有有包括左下角点坐标x,y;x方向长度a与y方向长度b。定义一些公有成员函数作为CRectangle类的外部接口,能够完成:输入或修改长方形的坐标;输出该长方形坐标、长宽,周长与面积。
2). 在main函数中定义该类的一个对象rect,左下角点(100,50),a=1200,b=700,对该类的属性和方法进行实验测试。
3). 改进CRectangle类,为其加入带参数的构造函数。实现在对象的创建时完成长方形坐标与尺寸的初始化。为观察对象的生命周期,改进类的构造函数并定义类的析构函数,使对象在被构造和析构时向用户发出相应提示信息。
4). 创建CRectangle的对象rect,左下角点(200,150),a=2000,b=800。调用类的成员函数求该矩形周长、面积。
要求:
写出程序源代码

/*
定义一个长方形类CRectangle。其数据成员定义为私有有包括
左下角点坐标x,y;x方向长度a与y方向长度b。
定义一些公有成员函数作为CRectangle类的外部接口,能够完成:
输入或修改长方形的坐标;输出该长方形坐标、长宽,周长与面积。
2). 在main函数中定义该类的一个对象rect,
左下角点(100,50),a=1200,b=700,
对该类的属性和方法进行实验测试。
3). 改进CRectangle类,为其加入带参数的构造函数。
实现在对象的创建时完成长方形坐标与尺寸的初始化。
为观察对象的生命周期,改进类的构造函数并定义类的析构函数,
使对象在被构造和析构时向用户发出相应提示信息。
4). 创建CRectangle的对象rect,左下角点(200,150),a=2000,b=800。
调用类的成员函数求该矩形周长、面积。

*/
#include <iostream>
#include <stdlib.h>
using namespace std;
class CRectangle
{
public:
CRectangle(); //默认构造函数
//带参数构造函数
CRectangle(int l,int d,int w,int h);
~CRectangle(); //析构函数
void Change(); //修改矩形
void Calculate(); //输出矩形坐标,周长,面积等
private:
int Left,Down,Wide,High; //左下角点(Left,Down),宽度 Wide ,高度 High
};

CRectangle :: CRectangle()
{
cout<<endl<<"调用矩形默认构造函数"<<endl;
cout<<"输入矩形左下角坐标: ";
cin>>Left>>Down;
cout<<"输入矩形的宽和高: ";
cin>>Wide>>High;
}

CRectangle :: CRectangle(int l,int d,int w,int h)
{
cout<<endl<<"调用矩形带参数构造函数"<<endl;
Left=l,Down=d,Wide=w,High=h;
}

CRectangle :: ~CRectangle()
{
cout<<"调用矩形(" << Left << " , " << High <<")析构函数"<<endl<<endl;
}

void CRectangle :: Change()
{
cout<<"修改矩形左下角坐标: ";
cin>>Left>>Down;
cout<<"修改矩形的宽和高: ";
cin>>Wide>>High;
}

void CRectangle ::Calculate()
{
cout<<endl<<"矩形坐标(顺时针方向):";
cout<<"("<<Left<<" , "<<Down<<") "
<<"("<<Left<<" , "<<Down+High<<") "
<<"("<<Left+Wide<<" , "<<Down+High<<") "
<<"("<<Left+Wide<<" , "<<Down<<") "<<endl;
cout<<"矩形宽度: "<<Wide<<" 矩形高度:"<<High<<endl;
cout<<"矩形周长:"<<2*(Wide+High)<<endl;
cout<<"矩形面积: "<<Wide*High<<endl<<endl;
}

int main(int argc, char *argv[])
{
class CRectangle retc1;
retc1.Calculate();
retc1.Change();
retc1.Calculate();

system("pause");

class CRectangle retc2(200,250,1000,800);
retc2.Calculate();

return 0;
}
温馨提示:答案为网友推荐,仅供参考