Voici mes codes (Vecteur.h, Vecteur.cpp, main.cpp).
Le problème est sur la fenêtre il m'affiche " [ 1 4565433] ". Pourquoi m'affiche t il ceci alors qu'il devrait m'afficher normalement " [ 1 1 ] " comme bien implémenter avec ce code "Coor[i] = A[i];" dans le constructeur de recopie avec A la composante que je mets en paramètre.
Merci
Vecteur.h
Vecteur.cpp
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 #ifndef VECTEUR_H_INCLUDED #define VECTEUR_H_INCLUDED #include <iostream> class Vecteur { private: int N; int * Coor; public: Vecteur(int n, int * A); Vecteur(const Vecteur & V); ~Vecteur(); int getN() const {return N;}; void Vecteur::Affiche() const; }; #endif // VECTEUR_H_INCLUDED
main.cpp
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
36
37
38
39
40
41
42 #include <iostream> #include "Vecteur.h" using namespace std; //Constructeur Vecteur::Vecteur(int n, int * A) : N(n) { Coor=new int[N]; if (A==NULL) { for (int i=0;i<N;i++) Coor[i] = 0; } else { for (int i=0;i<N;i++) Coor[i] = A[i]; } } Vecteur::Vecteur(const Vecteur &V) { N = V.getN(); Coor=new int[N]; for(int i=0; i<N; i++) Coor[i] = V.Coor[i]; } Vecteur::~Vecteur() { delete[] Coor; } void Vecteur::Affiche() const { cout<<"[ "; for(int i=0;i<N;i++) cout<< Coor[i] <<" "; cout<<"]"<<endl; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 #include <iostream> #include "Vecteur.h" using namespace std; int main() { int f = 1; Vecteur V(2,&f); V.Affiche(); }
Partager