莫道日月长 2016-05-21 13:56 采纳率: 55.6%
浏览 1289
已采纳

关于友元函数没声明也能运行的问题

#include
using namespace std;
#include
class point{
private:
int x,y;
friend int dist1(point p1,point p2);

public:
point(int a=10,int b=10){ x=a; y=b; }
int getx( ){ return x; }
int gety( ){ return y; }
};
int dist1(point p1,point p2){
double x=(p2.x-p1.x);

double y=(p2.y-p1.y);
return sqrt(x*x+y*y);
}
int dist2(point p1,point p2){

double x=p2.getx()-p1.getx();
double y=p2.gety()-p1.gety();
return sqrt(x*x+y*y);
}
void main()
{
point p1(2,5),p2(4,20);

cout<<dist1(p1,p2)<<endl;

cout<<dist2(p1,p2)<<endl;

}

为什么dist2这个函数没有声明为友元函数,却也能正常运行?

  • 写回答

5条回答 默认 最新

  • threenewbee 2016-05-21 14:07
    关注

    x,y不是成员变量 x y,而是局部变量。两者不是一回事。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊