Surcharge

wawa -  
kilian Messages postés 8854 Statut Modérateur -
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 8854 Statut Modérateur 1 526
 
Salut,

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