x-t
12-04-2008, 17:33
chi mi sa dire dov'è il problema in questo codice? il compilatore DEV mi dice che c'è un'ambiguita', ma io onestamente non capisco come risolverla..
........
class essere_vivente{
public:
essere_vivente();
~essere_vivente(){GestioneErrori g(0,2);}
friend ostream& operator <<(ostream &os,const essere_vivente& ev);
protected:
char verso [20];
char specie [20];
};
class animale:public virtual essere_vivente{
public:
animale();
~animale(){GestioneErrori g(0,1);}
friend istream& operator >>(istream &input,const animale& ev);
virtual void emettiSuono();
virtual void muovi();
};
......
istream& operator >>(istream &inp,const animale& ev){
inp>>ev.specie;
inp>>ev.verso;
return inp;
}
ovvero io voglio un operatore di input >> tale che, passando un oggetto animale, gli attribuisce specie e verso immessi da tastiera.
Mi basterebbe anke un'esempio funzionante dell'overloading dell'operatore >>
Grazie 1000! se volete maggiori chiarimenti, fatemi sapere
........
class essere_vivente{
public:
essere_vivente();
~essere_vivente(){GestioneErrori g(0,2);}
friend ostream& operator <<(ostream &os,const essere_vivente& ev);
protected:
char verso [20];
char specie [20];
};
class animale:public virtual essere_vivente{
public:
animale();
~animale(){GestioneErrori g(0,1);}
friend istream& operator >>(istream &input,const animale& ev);
virtual void emettiSuono();
virtual void muovi();
};
......
istream& operator >>(istream &inp,const animale& ev){
inp>>ev.specie;
inp>>ev.verso;
return inp;
}
ovvero io voglio un operatore di input >> tale che, passando un oggetto animale, gli attribuisce specie e verso immessi da tastiera.
Mi basterebbe anke un'esempio funzionante dell'overloading dell'operatore >>
Grazie 1000! se volete maggiori chiarimenti, fatemi sapere