以下是关于C++编程题 求助这里的友元函数怎么解决?

class Location{
public:
Location(double x0,double y0){};
double Getx();
double Gety();
double distance(Location &);
friend double distance(Location &,Location &);
private:
double x,y;
};

设计一个用来表示指教坐标系的Location类。主程序创建对象AB,分别采用成员函数和友元函数计算两点的距离。输出:AB坐标(自己指定的)还有两个函数计算的距离
我不懂这里的友元函数怎么编写

慕丝7291255
浏览 236回答 2
2回答

慕侠2389804

#include&nbsp;<math.h>class&nbsp;Location{public:&nbsp;&nbsp;&nbsp;&nbsp;Location(double&nbsp;x0,double&nbsp;y0){};&nbsp;&nbsp;&nbsp;&nbsp;double&nbsp;Getx();&nbsp;&nbsp;&nbsp;&nbsp;double&nbsp;Gety();&nbsp;&nbsp;&nbsp;&nbsp;double&nbsp;distance(Location&nbsp;&);&nbsp;&nbsp;&nbsp;&nbsp;friend&nbsp;double&nbsp;distance(Location&nbsp;&,Location&nbsp;&);private:&nbsp;&nbsp;&nbsp;&nbsp;double&nbsp;x,y;};&nbsp;double&nbsp;distance(Location&nbsp;&l1,Location&nbsp;&l2){&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;sqrt((l1.x-l2.x)*(l1.x-l2.x)&nbsp;+&nbsp;(l1.y-l2.y)*(l1.y-l2.y));}这样在后面定义就行了~

潇潇雨雨

友元函数能访问类的私有数据成员,普通函数不可以,你就把友元函数当成普通函数去写;距离计算公式两点坐标值差的平方和的算术平方根
打开App,查看更多内容
随时随地看视频慕课网APP