Bonjour,
alors j'essaye de comprendre comment créer de manière logique, une classe vecteur. Pour ça, je lis le cours du lien ci-joint.
Donc, on donne à cette classe vecteur le nom de A, et on écrit
1- Je ne comprend pas la syntaxe des constructeur par copie, et pourquoi il utilise new? et il y'a combien de constructeurs? Il me semble qu'ils sont au nombre de 3 mais pourquoi tout ca?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 typedef double R; //définition du corps class A {private: int N;//taille du vecteur R *v; \\pointeur sur les N valeurs public: A() {cout<<"pas de constructeur par défaut"<<endl;} A(const A & a) : N(a.N), v(new R [a.N]) {operator=(a)} A(int i) : N(i), v(new R[i]) { assert(v);} A & operator = (A & a) {assert (N==a); for (int i=0; i<N;i++) v[i]=a.v[i]; return *this; } ~ A() { delate [] v; } R & operator [](int i) const { assert (i>=0 && i<N); return v[i]; }
4- À quoi sert
?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 R & operator [](int i) const { assert (i>=0 && i<N); return v[i]; }
Je vous remercie par avance.
Partager