Ključna razlika: C ++ je objektno orijentirani jezik koji se uglavnom fokusira na objekte. Klasa u C ++ može se definirati kao skup povezanih varijabli i funkcija enkapsuliranih u jednu strukturu. Primjeri klase nazivaju se objekti. Struktura u C ++ može se nazivati korisnički definiranim tipom podataka koji posjeduje vlastite operacije. Za razliku od jezika C, oboje su vrlo slični u C ++. Glavna razlika koja postoji između njih odnosi se na modifikator pristupa; članovi klase su po defaultu privatni, dok su članovi strukture po defaultu javni.
Klasa u C ++ je samo proširenje strukture koja se koristi u C jeziku. To je korisnički definirani tip podataka. To zapravo povezuje podatke i njegove funkcije u jednoj jedinici. Struktura i klasa u C jeziku dosta se razlikuju jer struktura ima ograničenu funkcionalnost i značajke u odnosu na klasu. S druge strane, struktura i klasa u C ++ su prilično slične. Glavna razlika nastaje zbog činjenice da su svi članovi klase prema zadanim postavkama privatni, dok su svi članovi strukture javni.
Usporedba klase i strukture u C ++:
klasa | Struktura | |
definicija | Klasa u C ++ može se definirati kao skup povezanih varijabli i funkcija enkapsuliranih u jednu strukturu. | Struktura se može nazvati korisnički definiranim tipom podataka koji posjeduje vlastite operacije. |
Ključna riječ za deklaraciju | klasa | struct |
Zadani pristupnik | Privatna | Javnost |
Primjer | klasa myclass { privatna: int podataka; javnost: myclass (int data_): Podaci (data_) {} virtualni void foo () = 0; virtualna ~ klasa () {} }; | struct myclass { privatna: int podataka; javnost: myclass (int data_): Podaci (data_) {} virtualni void foo () = 0; virtualna ~ klasa () {} }; |
Svrha | Apstrakcija podataka i daljnje nasljeđivanje | Općenito, grupiranje podataka |
Tip | upućivanje | Vrijednost |
upotreba | Općenito se koristi za velike količine podataka. | Općenito se koristi za manje količine podataka. |