| #include
class Vecteur
{
int
*pVecteur;
int
nTaille;
public :
Vecteur(int);
Vecteur(const
Vecteur &);
~Vecteur();
int
GetAt(int ind)
{
if(
ind>=0 && ind
return
pVecteur[ind];
else
return
0;
}
void
SetAt(int ind,
int
val)
{
if(
ind>=0 && ind
pVecteur[ind]=val;
}
int
Size(){ return
nTaille; }
Vecteur& operator
=(const Vecteur
& v);
};
Vecteur::Vecteur(int
Taille)
{
nTaille = Taille;
pVecteur = newint[nTaille];
}
Vecteur::Vecteur(const
Vecteur & v)
{
nTaille = v.nTaille;
pVecteur = newint[nTaille];
for(
int
i=0; i
pVecteur[i]=v.pVecteur[i];
}
Vecteur::~Vecteur()
{
delete
pVecteur;
}
Vecteur& Vecteur::operator
=(const Vecteur
& v)
{
//
On vérifie que les objets ne sont pas les mêmes !
if(
this
!= &v )
{
delete
pVecteur; // Effacement du vecteur
nTaille = v.nTaille;
pVecteur = newint[nTaille];
//
Allocation
//
Recopie des valeurs
for(
int
i=0; i
pVecteur[i]=v.pVecteur[i];
}
return
*this;
}
void main()
{
Vecteur *v;
v = new
Vecteur(10);
for(
int
i=0; iSize(); i++ )
v->SetAt(i, i*i-i);
Vecteur vv(5);
vv = *v;
vv.SetAt(0, 13);
vv.SetAt(1, 13);
vv.SetAt(2, 13);
for(
i=0; iSize(); i++ )
cout << v->GetAt(i) <<
"
";
cout << endl;
for(
i=0; i
cout << vv.GetAt(i) <<
"
";
cout << endl;
delete
v;
} |