У меня вопрос по домашнему заданию по C++. Я просто запутался в *этом.
Приведенный ниже код — это то, что у меня есть.
Мой вопрос: почему условие в выражении 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;
}