erlug
[Top] [All Lists]

Re: [Erlug] c e classi

To: erlug@xxxxxxxxxxxxxx
Subject: Re: [Erlug] c e classi
From: Davide Bolcioni <db_erlug@xxxxxxxx>
Date: Fri, 22 Aug 2003 23:46:55 +0200
Simone Bacciglieri ha scritto:
Ho un problemino pero'...
questo pezzo del prog:
punto& operator=(const punto& p) { if (this != &p) { x=other.x;
        y=other.y;
      }
      //x=p.x;
      //y=p.y;
      return *this;
    }
compilando mi da questo:
classe.cpp: In member function `punto& punto::operator=(const punto&)':
classe.cpp:14: `other' undeclared (first use this function)
classe.cpp:14: (Each undeclared identifier is reported only once for each
   function it appears in.)

Perchè il compilatore non trova una definizione di 'other', dato che
l'argomento si chiama 'p'. In genere per operator= l'argomento dello stesso tipo della classe si indica con 'rhs' che sta per 'right hand
side', ovvero ciò che sta a destra di '=' invocando l'operatore, cioè

  p1 = p2;

diventa

  p1.operator=(p2);

e quindi p2 è l'argomento. Per il costruttore di copia di solito si usa
'other' oppure 'original'.

Davide Bolcioni
--
There is no place like /home.


<Prev in Thread] Current Thread [Next in Thread>