это на С++. как это работает?

У меня вопрос по домашнему заданию по 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;

}
0
задан dplante 31 May 2012 в 08:50
поделиться