PDA

Visualizza la versione completa : [C++] Liste di oggetti astratti


Cap_1981
20-01-2007, 20:49
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.

MItaly
20-01-2007, 23:59
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à... :stordita:

Cap_1981
21-01-2007, 13:17
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è?

MItaly
21-01-2007, 14:18
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).

Loading