Vc++ commande return this;

Signaler
Messages postés
4
Date d'inscription
samedi 1 novembre 2003
Statut
Membre
Dernière intervention
17 décembre 2003
-
Messages postés
4
Date d'inscription
samedi 1 novembre 2003
Statut
Membre
Dernière intervention
17 décembre 2003
-
je suis en train d'ecrire une classe vecteur semblable a la classe vector, je dois donc redefinir loperateur =
mais je ne sais pas si VC++ accepte la commande return this;

ds ce code est il possible de le remplacer par autre chose??
merci de vc y penchez..

template <class T> vecteur<T>& vecteur<T> :: operator = (const vecteur<T> &source)
{
if (size!=source.size)
{
if (size>0)
{
delete[] v;
size = source.size;
}
if (size>0) v=new T[size];
}
for (int i=0; i<size; i++)
v[i]=source.v[i];
return *this;

2 réponses

Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
la réponse est oui. Une surcharge typique :

BigInt& BigInt::operator=(BigInt& val)
{
// précaution en cas de a=a
if(this == &val)
return *this;

// destruction de l'ancien tableau et copie des nouvelles
// données
delete[] m_TabData;
Copy(val);

// retour
return *this;
}

avec des templates ç'est pareil
Messages postés
4
Date d'inscription
samedi 1 novembre 2003
Statut
Membre
Dernière intervention
17 décembre 2003

merci, c sympa mais moi je voulais la meme classe mais sans la commande return *this; ct ca le pb...
si quelequun y arrive ca serait cool.......