C++中,对象自加时,为何要把operator ++()函数写在类里面?

写在类外面不行么?operator++()函数为何一定要是其成员函数?... 写在类外面不行么?operator ++()函数为何一定要是其成员函数? 展开
 我来答
風Y承诺
2013-07-20 · TA获得超过104个赞
知道答主
回答量:95
采纳率:0%
帮助的人:70.1万
展开全部
重载运算符函数可以做成员函数,也可以做友元函数,目的都是可以让其可以访问类的成员数据。无论做友元还是成员,都需要在类声明里进行声明,也可以在类体内写函数体。
追问
那普通变量的自加 。那个内置运算符函数又是在哪个作用域里面?
追答
在系统自带的类库中。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
为之动容Cs
2013-07-26
知道答主
回答量:8
采纳率:0%
帮助的人:4.6万
展开全部
操作符重载,分为成员重载和友元重载,以a+b为例,成员重载,其显示调用格式为a.operator+(b),友元重载,其显示调用格式为operator+(a,b)。即成员重载,operator+作为类的成员函数存在,友元重载,operator+并不是该类的成员函数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
458001705
2013-07-20 · 超过76用户采纳过TA的回答
知道小有建树答主
回答量:398
采纳率:0%
帮助的人:206万
展开全部
实际上 这个重载就是作为 类内的成员存在的 实际上所谓重载只不过 提供一种便捷操作的方式
比如说++ 它也可以用add() 这样的函数来实现啊 只不过从语义上还有可读性上 ++要更好
更多追问追答
追问
嗯 我是问,为何一定要是成员函数,为何要以调用成员函数这种形式来完成自加,这跟运算符函数的语法规定有什么联系么
追答
实际上你想想  只有成员函数才能范围 私有的成员变量(当然友元也行) 所以如果要对变量进行操作 当然会选择 作为成员函数 比较方便
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友30a3645
2013-07-26 · TA获得超过531个赞
知道小有建树答主
回答量:446
采纳率:0%
帮助的人:195万
展开全部
operator++(); // ++ 前缀operator++(int); // ++ 后缀
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式