我对我的 C++ 作业有疑问。我只是对 *this 感到困惑。
下面的代码是我所拥有的。
我的问题是为什么 = 运算符中的 if 语句中的条件为真?
#include <cstring>
class abc {
char p[9];
int inc;
public:
abc( ) { inc = 8; strcpy(p, "10010101"); }
~abc( );
abc& operator=(const abc &);
};
abc::~abc( ) {
}
abc& abc::operator=(const abc &c) {
if(this != &c) { //my question is why this condition is true?
inc = c.inc - 2;
for(int i=0; i<inc; i++) {
p[i] = c.p[i] + 2;
}
}
return *this;
}
int main( ) {
abc x, y;
x = y;
return 0;
}