求C++友元和类组合改错设计一个坐标点类point(提示不要-查字典问答网
分类选择

来自管力军的问题

  求C++友元和类组合改错设计一个坐标点类point(提示不要写成Point),数据成员有横坐标X,纵坐标Y,成员函数有构造函数(对X,Y初始化),拷贝构造函数,getX函数(返回X的值),getY函数(返回Y的值

  求C++友元和类组合改错

  设计一个坐标点类point(提示不要写成Point),数据成员有横坐标X,纵坐标Y,成员函数有构造函数(对X,Y初始化),拷贝构造函数,getX函数(返回X的值),getY函数(返回Y的值)

  设计一个Rectangle类,数据成员有point对象left和right,分别对应矩形的两个点坐标,area对应矩形的面积,成员函数有构造函数(通过参数传递给两个坐标赋值,并在构造函数中根据两个坐标值计算矩形面积,赋值给area,计算面积可有两种选择,一种计算以这两点为左上角坐标和右上角坐标计算面积,一种计算调用max函数,实现以这两点坐标为底边,计算对应正方形面积),拷贝构造函数,getarea函数(返回area值).

  计算对应正方形面积的函数为:

  doublemax(pointleftp,pointrightp);该函数为point函数的友元函数

  以下是程序.号是分割线,第一为头文件,第二个为源文件.

  #pragmaonce

  #include

  usingnamespacestd;

  classflu

  {

  public:

  flu(intx0=0,inty0=0);

  flu(flu&f)

  {

  x=f.x;

  y=f.y;

  }

  intgetX()

  {returnx;}

  intgetY()

  {returny;}

  private:

  intx;

  inty;

  frienddoublemax(fluleftp,flurightp)

  {

  return(leftp.x-rightp.x)*(leftp.x-rightp.x)+(leftp.y-rightp.y)*(leftp.y-rightp.y);

  }

  };

  classRectangle

  {

  public:

  intgetarea()

  {returnarea;}

  Rectangle()

  {

  area=getX()*getY();

  }

  private:

  intleft;

  intright;

  intarea;

  };

  #include"flu.h"

  usingnamespacestd;

  voidmain()

  {

  intx1,x2,y1,y2,z;

  coutx1>>y1;

  coutx2>>y2;

  flua(x1,y1);

  flub(x2,y2);

  cout

1回答
2020-04-09 23:22
我要回答
请先登录
李友

  类的内容错了.

2020-04-09 23:26:39

最新问答

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •