Surcharge

Fermé
wawa - 19 oct. 2008 à 19:55
kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Non membre Dernière intervention 5 février 2025 - 20 oct. 2008 à 10:55
Bonjour,
J'ai un problème de classe:

class Signal{

public:
Signal(void);
Signal(int);
Signal(short*, int);
~Signal(void);
void Affiche (void);
void operator=(Signal &);
Signal operator+(Signal &);


private:
short *mSignal;
int mLongueur;

};



void Signal::operator=(Signal &s){
int i;
mLongueur=s.mLongueur;
mSignal=new short[mLongueur];
for(i=0;i<mLongueur;i++){
mSignal[i]=s.mSignal[i];}
}

Signal Signal::operator+(Signal &s){
Signal b(s.mLongueur+mLongueur);
int i;

for (i=0;i<mLongueur;i++){
b.mSignal[i]=mSignal[i];}
for (i=0;i<s.mLongueur;i++){
b.mSignal[i+mLongueur]=s.mSignal[i];}
return b; }



dans le main
(g+test).Affiche();
r=(g+test); <<<<cette ligne ne marche pas alors que celle du dessus marche
test.Affiche();



Je ne comprend pas: g+test retourne un objet Signal que je devrais pouvoir mettre sdans r...alors?

Je vous remercie d'avance

1 réponse

kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Non membre Dernière intervention 5 février 2025 1 526
20 oct. 2008 à 10:55
Salut,

Quelle est l'erreur? Quel est le type de r, de test, de g? Sont-ce des pointeurs ou...?
1