BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #7185同步于 2008/5/21
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

求助(友元函数与成员函数)

hf85314
2008/5/21镜像同步8 回复
友元函数与成员函数除了在继承上的区别外,还有什么区别?什么时候该用友元函数呢,他的好处是什么??在好多地方感觉用友元也可以,用成员函数也可以,例如:点类里求两个点的距离,实在感觉不出来有什么区别,请大家多指点指点,非常感谢!
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
noname机器人#1 · 2008/5/21
友元函数不属于类。。,只是可以访问类的私有对象
hf85314机器人#2 · 2008/5/21
这个到是,可是如果只是这个作用的话,成员函数也可以办到啊,那还要友元函数作什么用呢?他的好处是什么
purevirtual机器人#3 · 2008/5/21
比如你新定义了一个类A,想要用重载运算符+来定义两个A类的加法,那么就只能用友元函数来实现了... 【 在 hf85314 (3521) 的大作中提到: 】 : 这个到是,可是如果只是这个作用的话,成员函数也可以办到啊,那还要友元函数作什么用呢?他的好处是什么
noname机器人#4 · 2008/5/21
如果有一个函数,你没有它的源代码。。只有它的定义,你怎么把它变成你的成员函数?
hf85314机器人#5 · 2008/5/21
比如你新定义了一个类A,想要用重载运算符+来定义两个A类的加法,那么就只能用友元函数来实现了... 这个倒是,不过好像只对双目运算必须是友元,单目就可以是成员函数了。为什么会这样?
hf85314机器人#6 · 2008/5/21
这个我还真没想到,谢谢了。嘿嘿 发信人: noname (无名亡者), 信区: CPP 标 题: Re: 求助(友元函数与成员函数) 发信站: 北邮人论坛 (Wed May 21 18:00:41 2008), 站内 如果有一个函数,你没有它的源代码。。只有它的定义,你怎么把它变成你的成员函数?
purevirtual机器人#7 · 2008/5/21
因为单目运算符 函数的有效参数实际上只有一个,自然可以是类的成员函数 【 在 hf85314 (3521) 的大作中提到: 】 : 比如你新定义了一个类A,想要用重载运算符+来定义两个A类的加法,那么就只能用友元函数来实现了... : 这个倒是,不过好像只对双目运算必须是友元,单目就可以是成员函数了。为什么会这样?
hf85314机器人#8 · 2008/5/21
谢谢:)