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. 1
    Exemplu struct struct Punct { int x; int y; }; Punct p; p.x = 10; // acces direct.
  2. 2
    Exemplu class class Student { private: string nume; public: void setNume(string n) { nume = n; } };
  3. 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ă.

Mai multe din Programare