早教吧作业答案频道 -->其他-->
求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函数的友元函数
以下是程序.号是分割线,第一为头文件,第二个为源文件.
#pragma once
#include
using namespace std;
class flu
{
public:
flu(int x0=0,int y0=0);
flu(flu &f)
{
x=f.x;
y=f.y;
}
int getX()
{return x;}
int getY()
{return y;}
private:
int x;
int y;
friend double max(flu leftp,flu rightp)
{
return (leftp.x-rightp.x)*(leftp.x-rightp.x)+(leftp.y-rightp.y)*(leftp.y-rightp.y);
}
};
class Rectangle
{
public:
int getarea()
{return area;}
Rectangle()
{
area=getX()*getY();
}
private:
int left;
int right;
int area;
};
#include "flu.h"
using namespace std;
void main()
{
int x1,x2,y1,y2,z;
coutx1>>y1;
coutx2>>y2;
flu a(x1,y1);
flu b(x2,y2);
cout
设计一个坐标点类point(提示不要写成Point),数据成员有横坐标X,纵坐标Y,成员函数有构造函数(对X,Y初始化),拷贝构造函数,getX函数(返回X的值),getY函数(返回Y的值)
设计一个Rectangle类,数据成员有point对象left和right,分别对应矩形的两个点坐标,area 对应矩形的面积,成员函数有构造函数(通过参数传递给两个坐标赋值,并在构造函数中根据两个坐标值计算矩形面积,赋值给area,计算面积可有两种选择,一种计算以这两点为左上角坐标和右上角坐标计算面积,一种计算调用max 函数,实现以这两点坐标为底边,计算对应正方形面积),拷贝构造函数,getarea函数(返回area值).
计算对应正方形面积的函数为:
doublemax(pointleftp,pointrightp);该函数为point函数的友元函数
以下是程序.号是分割线,第一为头文件,第二个为源文件.
#pragma once
#include
using namespace std;
class flu
{
public:
flu(int x0=0,int y0=0);
flu(flu &f)
{
x=f.x;
y=f.y;
}
int getX()
{return x;}
int getY()
{return y;}
private:
int x;
int y;
friend double max(flu leftp,flu rightp)
{
return (leftp.x-rightp.x)*(leftp.x-rightp.x)+(leftp.y-rightp.y)*(leftp.y-rightp.y);
}
};
class Rectangle
{
public:
int getarea()
{return area;}
Rectangle()
{
area=getX()*getY();
}
private:
int left;
int right;
int area;
};
#include "flu.h"
using namespace std;
void main()
{
int x1,x2,y1,y2,z;
coutx1>>y1;
coutx2>>y2;
flu a(x1,y1);
flu b(x2,y2);
cout
▼优质解答
答案和解析
类的内容错了.
看了 求C++友元和类组合改错设计...的网友还看了以下:
直线y=-3/1x+6与x轴交于A点,与y轴交于B点,求AB两点坐标,P在x轴上若三角形PAB是直 2020-05-13 …
东梅体育用品商场为推销某一品牌运动服,先做了市场调查,得到数据如下表:卖出价格x(元/件)5051 2020-05-17 …
1.已知二次函数y=ax²-4x+1有最小值-1,则a的值是?2.已知当x=5时,二次函数y=x² 2020-05-22 …
在代数学中,为了表述的简洁,常用记号f(x),g(x),P(x),……已知关于x的实系数多项式P( 2020-06-12 …
在曲线y=x2+x上取点P(1,2)及临近点Q(1+x,2+y),则y/x=----------- 2020-07-14 …
初二坐标+函数题(求过程27.如图,点P是一个反比例函数与正比例函数的图象的交点,PQ垂直于x轴, 2020-07-22 …
已知幂函数f(x)=x^(-P^2/2+p+3/2)(p∈z),在(0,正无穷)上是增函数,且在其 2020-08-01 …
坐标系平移旋转顺序已知xoy内一点p,求在新坐标系x'o'y'下的坐标p'坐标系间的变换可以分以下 2020-08-01 …
初三数学一元二次方程韦达定理,有追加悬赏方程1(x+p)(x+q)=x²+(p+q)x+pq,是吧 2020-08-02 …
X、Y分别服从参数为(n,p)(m,p)的二项分布,通过计算求出X+Y的分布我用的方法Z=X+YP( 2020-10-31 …