[C++] Struct e Class
Salve a tutti. Qualcuno di voi potrebbe, gentilmente, espormi la differenza tra Struct e Class? In tutte le strutture viste fin ora, ho solo trovato definizioni di variabili di vario tipo (int, float, double, char*, etc.). Esistono strutture in cui sono definite funzioni?
Oltre al fatto che, di default, le classi permettono la definizione di variabili e funzioni private al contrario delle strutture, che differenze ci sono?
Oltre al fatto che, di default, le classi permettono la definizione di variabili e funzioni private al contrario delle strutture, che differenze ci sono?
Risposte
In pratica, l'unica differenza tra class e struct in C++ risiede nel fatto che nelle classi l'accesso è privato di default, mentre nelle strutture è pubblico. L'uso di uno o dell'altro dipende dalle preferenze personali.
Quindi anche nelle struct è possibile definire funzioni?
Che vantaggi comporta la definizione private rispetto alla public?
Che vantaggi comporta la definizione private rispetto alla public?
Dal punto di vista di performance/memoria utilizzata, non porta ad alcun vantaggio o svantaggio. È solo una questione tecnica di programmazione. Le variabili o funzioni private sono visibili solo all'interno della classe, mentre quelle pubbliche sono visibili da chiunque.