QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1010|回复: 10

C++中的运算符重载之问

[复制链接]
发表于 2005-3-1 10:42:17 | 显示全部楼层 |阅读模式
大家好:
   学了这么长时间的C++,可是到现在我仍然不知道C++运算符到底有什么用!请告之
发表于 2005-3-1 10:50:51 | 显示全部楼层
比如说你已经创建了一个叫“钱包(Wallet)”的Class,然后你又重载了“+”,和“=”,你就可以写:

Wallet myWallet = yourWallet + hisWallet;
回复

使用道具 举报

发表于 2005-3-1 10:53:28 | 显示全部楼层
楼上的解释经典
回复

使用道具 举报

发表于 2005-3-1 11:08:57 | 显示全部楼层
重载运算符可以跳过去,看继承和多态的时候里面有很多重载,就明白重载运算符还是比较有用的。
比如定义一个点的类,输出坐标的时候把<<重载一下,就可以直接用<<代替<<'['<<p.x<<","<<p.y<<']'了,其他还有输出时间的时候不用分别输出小时:分钟:秒,一个<<就可以了

现在也比较迷糊,反正是菜鸟,如果错了也比较正常:)

-----------------------------
向往飞翔的菜鸟
回复

使用道具 举报

发表于 2005-3-1 11:19:37 | 显示全部楼层
大家都是菜鸟,希望能一起飞   
回复

使用道具 举报

发表于 2005-3-12 18:10:35 | 显示全部楼层
我认为运算符只是为了让程序员看起来容易理解,不过如果你把+重载成-的意义那就让人更糊涂了,呵呵
回复

使用道具 举报

发表于 2005-3-12 19:21:52 | 显示全部楼层
[quote:9f044dfba9="qintm"]我认为运算符只是为了让程序员看起来容易理解,不过如果你把+重载成-的意义那就让人更糊涂了,呵呵[/quote]
正解。
回复

使用道具 举报

发表于 2005-3-13 10:02:01 | 显示全部楼层
[quote:430878eb47="qintm"]我认为运算符只是为了让程序员看起来容易理解,不过如果你把+重载成-的意义那就让人更糊涂了,呵呵[/quote]

毫无疑问,"让程序员看起来容易理解"是对的,不过运算符重载不仅仅在于看起来方便,用起来也方便啊,你可以看看其在泛型编程里面的巨大作用
回复

使用道具 举报

发表于 2005-3-14 23:56:50 | 显示全部楼层
我同意你的看法,看起来容易理解了,用起来自然顺手了。呵呵
回复

使用道具 举报

发表于 2005-3-19 03:34:53 | 显示全部楼层
精确的讲,运算符的重载是一个函数。如果你把它当成一个自定义类的特殊的有特定意义的函数的话,你就会明白些。
回复

使用道具 举报

发表于 2005-3-19 07:52:49 | 显示全部楼层
operator overloading 主要是为了搭配标准模板库,体现 C++ 的“值语义”特点而存在的。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-6 11:31 , Processed in 0.053363 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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