Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Samsung rinnova la serie pieghevole di punta con Galaxy Z Fold8 Ultra: pannello interno da 8 pollici quasi senza piega, cerniera Flex Titanium, Snapdragon 8 Elite Gen 5 for Galaxy e batteria finalmente da 5.000 mAh. Prezzo italiano da 2.299 a 2.899 euro. Tra colorimetro, benchmark reali e giorni di uso quotidiano, ecco dove questo pieghevole convince e dove il nome Ultra fatica ancora a trovare piena giustificazione
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
La nuova Insta360 X6 introduce sensori Sony da 1/1.1" e un SoC Triple AI a 4nm. Analizziamo le riprese 8K, il primo Dolby Vision nativo a 10-bit nel settore sferico e l'innovativo flusso di lavoro diretto sulla futura versione 22 di DaVinci Resolve.
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli
Dopo due settimane trascorse al volante della Dacia Spring 2026 possiamo raccontarvi tutto, dalle novità di motore e batteria, fino ai consumi in tutti le situazioni, compresa l'autonomia reale ad alta velocità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 31-05-2007, 08:48   #1
tglman
Senior Member
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
[c++]problema Ereditarieta multipla

Allora ...
E arrivato il momento di porvi un problemino alquanto complesso
che preferisco descrivervi con il codice:
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:

Codice:
class Stragista: public Accoltellatore,public Pistolero
{
/* Implemento tutti i metodi virtuali.
*/
}
e poi vado ad utilizzare cosi:
Codice:
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 ??
tglman è offline   Rispondi citando il messaggio o parte di esso
Old 31-05-2007, 10:13   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da tglman Guarda i messaggi
impossibbile assegniare a Assassino * perchè ambiguo...

Cosa vuol Dire ??
Che questo è il "diamond problem".

Ah ... i nomi che hai usato sono bellissimi.
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 31-05-2007, 10:32   #3
tglman
Senior Member
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
Non posso provare ma ad intuito la soluzione dovrebbe essere questa:

Codice:
class Assassino
{
    public:
        virtual void uccidi()=0;
}

class Accoltellatore: public virtual Assassino
{
    public:
        virtual void prendiColtello()=0;
}

class Pistolero: public virtual Assassino
{
    public:
        virtual void prendiPistola()=0;
}
Grazie Ancora!!

Ultima modifica di tglman : 31-05-2007 alle 10:34.
tglman è offline   Rispondi citando il messaggio o parte di esso
Old 31-05-2007, 20:43   #4
tglman
Senior Member
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
Sembrava risolto invece ecco qua.....
ho un problem del genere:
Codice:
Assassino *ass=....
Accoltellatore *acc = (Accoltellatore *)ass;
mi da:
error: cannot convert from base ‘Assassino’ to derived type ‘Accoltellatore’ via virtual base ‘Assassino’

e adesso.......
tglman è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2007, 12:35   #5
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Così dovrebbe funzionare.

Codice:
Assassino *ass= new Accoltellatore();
Accoltellatore *acc = dynamic_cast<Accoltellatore *>ass;
if (acc != NULL)
...
tomminno è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto Recensione Samsung Galaxy Z Fold8 Ultra: il pieg...
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing" Insta360 X6: Dolby Vision, 8K e montaggio "...
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli Due settimane con Dacia Spring 2026: novit&agrav...
AORUS GeForce RTX 5080 INFINITY WOOD 16G: una scheda video diversa dalle altre AORUS GeForce RTX 5080 INFINITY WOOD 16G: una sc...
Hyundai Ioniq 9: dopo due settimane di test non avremmo voluto restituirla Hyundai Ioniq 9: dopo due settimane di test non ...
PEC obbligatoria per revisione e passagg...
Il ripulitore di watermark Claude da 4.5...
Xiaomi 17 Ultra scambia il Sole per la L...
È arrivata la migliore e-bike Eng...
Apple Mac mini M4, ecco perché conviene ...
Robot aspirapolvere in offerta su Amazon...
Il nuovo pick-up elettrico di Ford &egra...
Google Pixel 11 arriva su Amazon: preord...
Mega sconti su attrezzi a batteria e rob...
Google Search dà per morto Sam Al...
Il noleggio delle GPU NVIDIA si quota in...
Google: il miliardo di utenti di Gemini ...
Testo invisibile nei PDF, così i modelli...
Le riedizioni di Pokémon Rubino, Zaffiro...
Anche BYD lancia il suo gigante: Sealion...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 15:26.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v