我第一次尝试处理运算符重载,我编写了以下代码来重载++操作符,以使类变量 i 和x
增加1。它的确完成了任务,但是编译器显示了以下警告:
警告 1:在类型“tclass”中找不到“operator ++”的后缀形式,使用前缀形式 c:\users\ahmed\desktop\cppq\cppq\cppq.cpp 25
警告 2:在类型“tclass”中找不到“operator ++”的后缀形式,使用前缀形式 c:\users\ahmed\desktop\cppq\cppq\cppq.cpp 26
这是我的代码:
class tclass{
public:
int i,x;
tclass(int dd,int d){
i=dd;
x=d;
}
tclass operator++(){
i++;
x++;
return *this;
}
};
int main() {
tclass rr(3,3);
rr++;
rr++;
cout<<rr.x<<" "<<rr.i<<endl;
system("pause");
return 0;
}
++*this;
显示错误,提示:错误 1 错误 C2675: 一元 '++' : 'tclass' 未定义此运算符或可预定义运算符的类型转换 c:\users\ahmed\desktop\cppq\cppq\cppq.cpp 14
。 - Aanoperator++()
的返回类型通常是tclass&
。 - Mooing Duck