Je ne comprends pas, Affichage de nombre sorti de je ne sais où quand j'affich
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
Code:
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 |
Vecteur.cpp
Code:
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;
} |
main.cpp
Code:
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();
} |