tglman
31-05-2007, 08:48
Allora ...
E arrivato il momento di porvi un problemino alquanto complesso ;)
che preferisco descrivervi con il codice:
class Assassino
{
public:
virtual void uccidi()=0;
}
class Accoltellatore: public Assassino
{
public:
virtual void prendiColtello()=0;
}
class Pistolero: public Assassino
{
public:
virtual void prendiPistola()=0;
}
Preso questo esempio io vorrei una classe che discrivesse tutti i comportamenti, e quindi implemento:
class Stragista: public Accoltellatore,public Pistolero
{
/* Implemento tutti i metodi virtuali.
*/
}
e poi vado ad utilizzare cosi:
void main()
{
Assassino * ass = new Stragista();
}
Essendomi ormai(purtroppo) abituato al java pensavo che questo funzionava ...
inveci mi da un bel errore del tipo:
impossibbile assegniare a Assassino * perchè ambiguo...
Cosa vuol Dire ??
E arrivato il momento di porvi un problemino alquanto complesso ;)
che preferisco descrivervi con il codice:
class Assassino
{
public:
virtual void uccidi()=0;
}
class Accoltellatore: public Assassino
{
public:
virtual void prendiColtello()=0;
}
class Pistolero: public Assassino
{
public:
virtual void prendiPistola()=0;
}
Preso questo esempio io vorrei una classe che discrivesse tutti i comportamenti, e quindi implemento:
class Stragista: public Accoltellatore,public Pistolero
{
/* Implemento tutti i metodi virtuali.
*/
}
e poi vado ad utilizzare cosi:
void main()
{
Assassino * ass = new Stragista();
}
Essendomi ormai(purtroppo) abituato al java pensavo che questo funzionava ...
inveci mi da un bel errore del tipo:
impossibbile assegniare a Assassino * perchè ambiguo...
Cosa vuol Dire ??