Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    104

    C++: liste di oggetti astratti

    Salve,
    ho il seguente problema in C++, cercando di implementare il pattern composite.

    Ho una classe astratta A da cui derivo due classi B e C.
    nella classe C volevo mantenere una lista di oggetti di tipo A che quini non si possono instanziare.

    ho provato a fare list<A &> ma il compilatore mi da errore.

    Come faccio amntenere una lista di oggetti di una classe astratta (funzioni virtuali pure).

    grazie in anticipo.

  2. #2

    Re: C++: liste di oggetti astratti

    Originariamente inviato da Cap_1981
    ho provato a fare list<A &> ma il compilatore mi da errore.
    1. Perché "A &"? Piuttosto A (se memorizzi effettivamente gli oggetti) o A* (se memorizzi puntatori ad essi.
    2. Sarebbe utile sapere che errore dà...
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    104
    grazie per la risopsta.

    Devo memorizzare un riferimento ad essa perchè la classe A è astratta (cioè ha funzioni virtuali pure) e non può essere istanziata.

    Non so se il puntatore andrebbe bene.

    Gli errori sono relativi alla classse Xmemory, non capisco perchè.

    Mi da gli stessi errori se faccio semplicemente list<int &>,perchè?

  4. #4
    L'unica è memorizzare dei puntatori a tali oggetti; non puoi memorizzare dei riferimenti (&) a degli oggetti nelle classi template (che peraltro non sono altro che una sintassi diversa per usare i puntatori).
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.