Vc++ commande return this;

cs_julojulo Messages postés 4 Date d'inscription samedi 1 novembre 2003 Statut Membre Dernière intervention 17 décembre 2003 - 16 déc. 2003 à 17:49
cs_julojulo Messages postés 4 Date d'inscription samedi 1 novembre 2003 Statut Membre Dernière intervention 17 décembre 2003 - 17 déc. 2003 à 08:50
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

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
16 déc. 2003 à 21:50
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
0
cs_julojulo Messages postés 4 Date d'inscription samedi 1 novembre 2003 Statut Membre Dernière intervention 17 décembre 2003
17 déc. 2003 à 08:50
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.......
0
Rejoignez-nous