相关疑难解决方法(0)

运算符重载的基本规则和习惯用法是什么?

注意:答案是按照特定的顺序给出的,但由于许多用户根据投票而不是给出的时间对答案进行排序,因此这里是答案索引,它们是最有意义的顺序:

(注意:这是Stack Overflow的C++常见问题解答的一个条目.如果你想批评在这种形式下提供常见问题解答的想法,那么发布所有这些的元数据的发布将是这样做的地方.这个问题在C++聊天室中受到监控,其中FAQ的想法一开始就出现了,所以你的答案很可能被那些提出想法的人阅读.)

c++ operator-overloading operators c++-faq

2074
推荐指数
8
解决办法
88万
查看次数

106
推荐指数
3
解决办法
8万
查看次数

在重载预增量运算符时,是否必须返回对象的引用?

我可以用吗:

MyClass& MyClass::operator++ () {
    a++;  // private var of MyClass
    return (*this);
}
Run Code Online (Sandbox Code Playgroud)

或者它可以是:

MyClass MyClass::operator++ ();
Run Code Online (Sandbox Code Playgroud)

有什么不同?


谢谢你的回答.我有另一个问题.

很多人都这样做:

MyClass& MyClass::operator++();
MyClass MyClass::operator++(int);
Run Code Online (Sandbox Code Playgroud)

这不合逻辑吗?如果可以,请举一些例子.

我知道第一个版本是预增量,第二个版本是后增量,但我问为什么第一个版本返回引用而第二个版本没有?它在相同的代码(类)中,并且使用相同的代码.

c++ function operator-overloading

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

c++ ×3

operator-overloading ×3

c++-faq ×1

function ×1

operators ×1