Newsgroup: it.comp.lang.c++
Titolo: Struct e classi....

Ciao a tutti....
Mi sono da pochissimo avvicinato al C++, conoscendo
qualcosa di C, e, benche' tra le parole riservate del C++
compaia lo struct, non l'ho mai visto utilizzato: al che mi
sono chiesto, avendo a disposizione un mezzo piu' potente
come le classi, se lo struct venisse da esse sostituito.
E' cosi' !? 
In pratica, per avere l'equivalente di uno struct in C,
devo definire una classe che ha come dati pubblici gli
elementi dello struct che volevo definire, il costruttore
(che deve allocare esattamente lo spazio necessario agli
elementi), e nessun metodo; e come dati privati solo il
distruttore.
Mi sbaglio !? E' lecito fare una cosa del genere in C++ !?
Vi ringrazio anticipatamente per eventuali risposte....
-- 
Francesco Ferrara
Salerno - Italy
E-Mail: 
Pa...@ntt.it
 
fra...@zoo.diaedu.unisa.it
ICQ Number: 3587289

 wrote:
Le funzionalita' di una  'struct' o di una  'class' in C++ sono
perfettamente uguali, tranne per il fatto che i dati membro e le
funzioni sono 'public' per default in una struct  e 'private' in una
class ( almeno fino alla versione Borland C++ 3.1 ). 
Ciao

 
Non e' neppure necessario usare costruttore e distruttore. Se vuoi puoi
fare una dichiarazione del tipo
class x {
public:
	int a;
	int b;
	int c;
};
dovrebbe essere del tutto equivalente a quella fatta con struct.
-- 
Andrea Vettori
------------------------
vet...@computer.org
http://www.dei.unipd.it/~vettori
    (italiano)
http://www.geocities.com/ResearchTriangle/9236
   (english)

...


 scritto nell'articolo
<01bd19b1$c23c9d20$060164c4@luca>...


Ciao

 sbagliare, pero'...
A me invece sembra di ricordare che il default per la classe fosse 
private, tutto cio' che non e' dichiarato altrimenti e' private, 
mentre per la struttura tutto cio' che non e' dichiarato altrimenti e 
pubblico. 
Comunque anche io potrei sbagliarmi
--- Windows should be closed when running at Warp speed
** Email replies to 
md7...@mclink.it
 **
visit my homepage at: 
http://www.volftp.tin.it/IT/IT/ITALIANI/rullo/index.htm
 

dovrebbe essere del tutto equivalente a quella fatta con struct.
Naturalmente ci sono alcuni vantaggi a utilizzare le
classi invece delle struc (ereditarietà ...) , ma se serve una struct va
utilizzata un struct.
Provabilmente l'uso che se ne fa nel programma è lo stesso, poichè la classe
non ha costruttore e distruttore dichiarati, ma l'occupzione di memoria è
diversa poiche' la classe allochera lo spazio per un costruttore e un
distruttore di default mentre la struct no.
(se mi sbaglio vi prego di dirmelo)
In generale credo che i programmatori dovrebbero evitare di sprecare dei bit
inutilmente. Forse risparmiando qua e la qualche bit qua e la si riuscira a
evitare di dover
acquistare della ram aggiuntiva all'uscita di ogni nuovo sistema operativo.

 acquistare della ram aggiuntiva all'uscita di ogni nuovo sistema operativo.
Col mio messaggio non intendevo dire di usare le classi anche quando
basta una struct. Sono daccordo col fatto che, quando non servono
funzioni membro, e' inutile usare una class. Vero anche che fa comodo il
costruttore per l'inizializzazione degli oggetti anche se non hai altre
funzioni membro (io uso solo class con costruttore per
l'inizializzazione).
Un'ultima cosa: nelle dichiarazioni fatte con class puoi inserire anche
variabili static. 


 distruttore di default mentre la struct no.
Finche' non usi funzioni viruali, l'occupazione dati e' la stessa. E'
chiaro che nel segmento del codice ci sara' qualcosa in piu'.   
