showtime
Déjà, quand y'a pas de pointeur, genre on utilise la STL, on peut se fier à l'opérateur par recopie défini implicitement
->tgrx, non, il fait pas une copie octet par octet, mais appelle l'opérateur = des données membres et classes fille, et l'op = pour un pointeur, c'est ce que l'on sait.
Mais s'il faut écrire l'opérateur = soi même, voici la forme:
ex sur un truc du genre vecteur
class A
{
int n;
int * data;
public:
A(int size):n(size), data(new int[size]){}
~A(){delete[]data;}
A & operator = (const A & other)
{
if (&other==this)
return *this; //c'est mio-même
delete [] data; //ou ~A();
n=other.n;
data= new int[n];
for (int i=0; i<n; i++)
data[i]=other.data[i];
return *this;
}
};