游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2092|回复: 6

友元函数

[复制链接]

17

主题

34

帖子

34

积分

注册会员

Rank: 2

积分
34
发表于 2007-5-30 16:38:00 | 显示全部楼层 |阅读模式
什么情况下需要用到友元函数呢?比如一些运算符,例如+、-、||等,但是为什么他们最好定义为友元函数呢?

103

主题

1432

帖子

1458

积分

金牌会员

Rank: 6Rank: 6

积分
1458
QQ
发表于 2007-5-30 19:37:00 | 显示全部楼层

Re:友元函数


友员的定义是可以访问类内部成员而自身不是类内部成员.
然后类内部成员第一个参数是隐藏的自身, 第二个参数才是可以设定的.
根据运算符重载的定义
A+B 和 B+A 是不同的
因为内部成员的特点,无法修改参数的次序,所以需要用外部的函数来定义.
而普通函数无法访问类内部成员,
综合, 就是需要友员来做这个工作.

65

主题

225

帖子

232

积分

中级会员

Rank: 3Rank: 3

积分
232
发表于 2007-6-1 14:50:00 | 显示全部楼层

Re:友元函数

自己内部模块的两个类要互相调用,而且不希望外部能调用类的这个函数,这时候就需要友元

8

主题

716

帖子

716

积分

高级会员

Rank: 4

积分
716
发表于 2007-6-13 11:33:00 | 显示全部楼层

Re:友元函数

友元就是我和你私交很好
然后我把我的Wii借给你玩,你也会把你的PS2借给我玩
而且我们都不会把游戏机借给其他人玩

6

主题

33

帖子

37

积分

注册会员

Rank: 2

积分
37
发表于 2007-6-13 22:57:00 | 显示全部楼层

Re:友元函数

呵呵,这个比喻还真恰当啊。

3

主题

8

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2007-6-17 10:24:00 | 显示全部楼层

Re:友元函数

8错

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
发表于 2007-6-17 20:59:00 | 显示全部楼层

Re: Re:友元函数

千里马肝: Re:友元函数

友元就是我和你私交很好
然后我把我的Wii借给你玩,你也会把你的PS2借给我玩
而且我们都不会把游戏机借给其他人玩


补充一条,马肝说他的Wii只能借给我玩,我就可以借,但是如果我不说我的PS2可以借给马肝玩,马肝也无法从我这借走PS2,只能是我借他的Wii玩。

。。。有点乱,总而言之就是马肝把Wii借给我玩,我不一定要把PS2借给马肝玩。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-26 03:08

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表