C++重载+号运算符的问题

2025-01-06 17:17:57
推荐回答(3个)
回答1:

我估计您可能弄错了,这个Complex是书上的一个类(类似于你的oprea),并非C++关键字。之所以不能写成c3=3+c2,是因为加号在这里并没有重载。比如在c3=c1+c2中,实际上是解释成c3=c1.operator+(c2),相当于是调用c1的成员函数。你写成c3=3+c2,加号前面是常量,并非对象,就不会这样解释,而是普通的加法运算而已,既然是普通加法,加号后面当然不能是对象了。希望我的回答对您有用。

回答2:

楼主可看些构造函数方面的知识,这些疑问将迎刃而解。

回答3:

“Complex(3,0)”是执行构造函数