游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1778|回复: 2

friend 运算符重载函数

[复制链接]

17

主题

34

帖子

34

积分

注册会员

Rank: 2

积分
34
发表于 2007-5-31 20:46:00 | 显示全部楼层 |阅读模式
有人说比如+、-等符号的运算符重载,最好写成friend函数。请问各位,为什么呢?

1367

主题

1993

帖子

2118

积分

金牌会员

Rank: 6Rank: 6

积分
2118
发表于 2007-5-31 21:19:00 | 显示全部楼层

Re:friend 运算符重载函数

为什么
up

103

主题

1432

帖子

1458

积分

金牌会员

Rank: 6Rank: 6

积分
1458
QQ
发表于 2007-5-31 21:38:00 | 显示全部楼层

Re:friend 运算符重载函数

怎么我好像看过这个问题.~~~

难道我解释的不清楚?

friend才能访问类内部成员, private, protected成员.
然后friend函数是一个普通函数,他不带隐含的参数, 而类函数带一个隐含的this指针.
也就是假设类T, 他的加int 的函数只有一个规格
operator+( int )
第一个参数是隐藏的,也就是实际上等于 operator+( T, int )
friend函数就没有这个限制
operator+( T, int )
operator+( int, T )
两种写法是不同的
T + int
int + T
是分别调用他们.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-26 06:58

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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