我只是在阅读有关使用减号(-),增量(++)等的一元运算符重载的信息。我想写一个相同的代码只是为了练习。但是当我尝试运行它时,它给了我减号和增量运算符的错误。我认为问题是我在 main 中调用运算符的方式。谁能请这样做的正确方法是什么?
#include<iostream>
using namespace std;
class c{
int x;
int y;
public:
c(int a,int b){
x=a;
y=b;
}
void operator -(){
x=x+1;
y=y+1;
}
void display(){
cout<<x<<" "<<y<<"\n";
}
};
int main()
{
c obj(2,3);
obj.display();
obj- ; //I think the error is on this line
obj.display();
return 0;
}
如果我用 -obj 替换 obj- 代码可以正常工作。为什么会这样?同样是 ++ 运算符重载的问题(使用 ++obj 工作正常,但 obj++ 不起作用),为什么?
谢谢。