首先是题目
【问题描述】
设计一个CRectangle类,其中包括CPoint类的两个对象成员,表示左上角和右下角的两个点。要求求解矩形的面积。
注意,每个类的构造函数、拷贝构造函数需要输出“*** is called”,具体的请根据输出进行分析。
main函数已经给定如下。(略)
然后是代码
#include <iostream>
using namespace std;
class CPoint//定义记录坐标点的类
{
public:CPoint(int nx=0,int ny=0);
//一开始我还定义了CPoint(),然后编译错误,后来知道原因是和上面一个函数功能重合,*因为已经设置了默认值,所以上面的函数也可不给参数*,修复一个知识漏洞
CPoint(CPoint &z);//定义拷贝构造函数
friend class CRectangle;//友元声明,不然下面不能调用CPoint的私有成员
private: int x,y;//x,y表示坐标
};
CPoint::CPoint(int nx,int ny)//有参则赋值
{
x=nx;
y=ny;
cout<<"CPoint contstructor with default value(0,0) is called."<<endl;
}
CPoint::CPoint(CPoint &z)