C++ les classes les constructeurs appelés
wawa
-
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour tout le monde!!!
Comme je pense que vous l'avez compris dans le titre je fais une classe et je ne comprend pas des fois pourquoi le constructeur est appelé... JE NE LUI AI RIEN DEMANDE!!!
Par exemple dans la fonction qui suit, le destructeur est appelé deux fois:
class Signal {
public:
int mLongueur;
short *mSignal;
Signal operator= (Signal S1){
int i;
mLongueur=S1.mLongueur;
mSignal=new short[S1.mLongueur];
for (i=0;i<S1.mLongueur;i++){
mSignal[i]=S1.mSignal[i];}
cout<<"opertaur=utilise"<<endl;
}
int main(int argc, char *argv[])
{
......
rr=g;}
ici rr et gg sont deux objet de la classe signal
Comme je pense que vous l'avez compris dans le titre je fais une classe et je ne comprend pas des fois pourquoi le constructeur est appelé... JE NE LUI AI RIEN DEMANDE!!!
Par exemple dans la fonction qui suit, le destructeur est appelé deux fois:
class Signal {
public:
int mLongueur;
short *mSignal;
Signal operator= (Signal S1){
int i;
mLongueur=S1.mLongueur;
mSignal=new short[S1.mLongueur];
for (i=0;i<S1.mLongueur;i++){
mSignal[i]=S1.mSignal[i];}
cout<<"opertaur=utilise"<<endl;
}
int main(int argc, char *argv[])
{
......
rr=g;}
ici rr et gg sont deux objet de la classe signal
A voir également:
- C++ les classes les constructeurs appelés
- Comment effacer les appels sur téléphone fixe alcatel f860 - Forum telephonie fixe
- Ajoutez à la liste de contacts ana le goff, inscrite le 27 novembre 2015, dans la catégorie i. puis triez les contacts en les classant : par ordre alphabétique de leur nom de famille (critère principal), puis par date du plus récent au plus ancien (critère secondaire). quel mot apparaît à la verticale dans la colonne "catégorie" entre les lignes 200 et 209 (en-tête compris) ? ✓ - Forum Word
- Family link autoriser les appels - Forum Téléphones & tablettes Android
- Appels reçus figurent toujours sur l'écran ✓ - Forum telephonie fixe
- Comment sont classés les amis sur facebook - Guide
1 réponse
lorsque tu fait un appel à "Signal operator= (Signal S1)" tu fait une copie de ta variable 'g', c'est comme si tu écrivait :
Signal S1(g)
tu utilise le constructeur de copie par défaut. Je te conseil plutôt de faire :
Signal operator= (Signal& S1)
ou même mieux dans ton cas :
Signal operator= (const Signal& S1)
En faisant un passage par référence tu évite la création et la copie d'un nouvel objet.
Signal S1(g)
tu utilise le constructeur de copie par défaut. Je te conseil plutôt de faire :
Signal operator= (Signal& S1)
ou même mieux dans ton cas :
Signal operator= (const Signal& S1)
En faisant un passage par référence tu évite la création et la copie d'un nouvel objet.