Informatică Programare
Diferenta intre struct si class in C++
Diferența principală între struct și class în C++ este vizibilitatea implicită a membrilor: în struct, membrii sunt publici, iar în class, sunt privați. Ambele pot conține date și funcții, dar se folosesc în contexte diferite.
Comparație detaliată
- Vizibilitate implicită Struct: public - accesibil din afară. Class: private - ascuns, necesită getteri/setteri.
- Utilizare tradițională Struct pentru date simple (ex: punct cu x, y). Class pentru obiecte complexe (ex: Student cu metode).
- Compatibilitate Ambele suportă moștenire, polimorfism, dar struct e mai des folosit în C pentru compatibilitate.
Exemple practice
- 1 Exemplu struct struct Punct { int x; int y; }; Punct p; p.x = 10; // acces direct.
- 2 Exemplu class class Student { private: string nume; public: void setNume(string n) { nume = n; } };
- 3 Schimbare vizibilitate Poți face struct cu membri privați: struct S { private: int a; }; dar e neobișnuit.
Alege struct pentru agregate de date și class pentru encapsulare și logica complexă.