}
/***** définition de l'affectation entre vectok *****/
vectok & vectok::operator = (vectok & v) // ou const vectok & v
{ if (this != &v)
{ delete adr ;
adr = new int [nelem = v.nelem] ;
int i ;
for (i=0 ; i
}
return (*this) ;
}
Voici un exemple de programme utilisant la classe vectok, accompagné du résultat de son
exécution :
#include // voir N.B. du paragraphe Nouvelles possibilités
// d'entrées-sorties du chapitre 2
using namespace std ;
#include "vectok.h"
main()
{ void fct (vectok) ;
vectok v(6) ;
int i ;
for (i=0 ; i
cout << "vecteur v : " ;
for (i=0 ; i
cout << "\n" ;
vectok w(3) ;
w = v ;
cout << "vecteur w : " ;
for (i=0 ; i
cout << "\n" ;
fct (v) ;
}
void fct (vectok v)
{ cout << "vecteur reçu par fct : " << "\n" ;
int i ;
for (i=0 ; i
}
vecteur v : 0 1 2 3 4 5
vecteur w : 0 1 2 3 4 5
vecteur reçu par fct :
0 1 2 3 4 5
Voici, à titre indicatif, ce que serait la définition du constructeur par recopie de vectok,
dans le cas où l’on ferait appel au constructeur par recopie (par défaut) de vect :
vectok::vectok (vectok & v) : vect (v) // ou const vectok & v
{ nelem = v.nelem ;
adr = new int [nelem] ;
int i ;
for (i=0 ; i
adr[i] = v.adr[i] ;
}
Ici, il a fallu allouer un nouvel emplacement pour un vecteur, ce qui n'était pas le cas
258
/***** définition de l'affectation entre vectok *****/
vectok & vectok::operator = (vectok & v) // ou const vectok & v
{ if (this != &v)
{ delete adr ;
adr = new int [nelem = v.nelem] ;
int i ;
for (i=0 ; i
return (*this) ;
}
Voici un exemple de programme utilisant la classe vectok, accompagné du résultat de son
exécution :
#include
// d'entrées-sorties du chapitre 2
using namespace std ;
#include "vectok.h"
main()
{ void fct (vectok) ;
vectok v(6) ;
int i ;
for (i=0 ; i
for (i=0 ; i
vectok w(3) ;
w = v ;
cout << "vecteur w : " ;
for (i=0 ; i
fct (v) ;
}
void fct (vectok v)
{ cout << "vecteur reçu par fct : " << "\n" ;
int i ;
for (i=0 ; i
vecteur v : 0 1 2 3 4 5
vecteur w : 0 1 2 3 4 5
vecteur reçu par fct :
0 1 2 3 4 5
Voici, à titre indicatif, ce que serait la définition du constructeur par recopie de vectok,
dans le cas où l’on ferait appel au constructeur par recopie (par défaut) de vect :
vectok::vectok (vectok & v) : vect (v) // ou const vectok & v
{ nelem = v.nelem ;
adr = new int [nelem] ;
int i ;
for (i=0 ; i
}
Ici, il a fallu allouer un nouvel emplacement pour un vecteur, ce qui n'était pas le cas
258
