Diferența cheie: C ++ este un limbaj orientat pe obiecte care se concentrează în principal pe obiecte. O clasă în C ++ poate fi definită ca o colecție de variabile și funcții conexe încapsulate într-o singură structură. Exemplele clasei sunt denumite ca obiecte. O structură în C ++ poate fi menționată ca un tip de date definit de utilizator care posedă propriile sale operații. Spre deosebire de limba C, ambele sunt destul de asemănătoare în C ++. Principala diferență care există între ele se referă la modificatorul de acces; membrii unei clase sunt privați în mod implicit, în timp ce membrii unui struct sunt public implicit.
O clasă în C ++ este doar o extensie a unei structuri utilizate în limba C. Acesta este un tip de date definit de utilizator. De fapt, aceasta leagă datele și funcțiile asociate într-o singură unitate. O structură și o clasă în limbajul C diferă foarte mult, deoarece o structură are funcționalități și caracteristici limitate în comparație cu o clasă. Pe de altă parte, structura și clasa în C ++ sunt destul de similare. Principala diferență apare din cauza faptului că, în mod implicit, toți membrii unei clase sunt privați, în timp ce implicit toți membrii unei structuri sunt publici.
Comparație între clasă și structură în C ++:
Clasă | Structura | |
Definiție | O clasă în C ++ poate fi definită ca o colecție de variabile și funcții conexe încapsulate într-o singură structură. | O structură poate fi menționată ca un tip de date definit de utilizator care posedă propriile sale operații. |
Cuvânt cheie pentru declarație | Clasă | struct |
Implicit specificator de acces | Privat | Public |
Exemplu | clasa myclass { privat: int date; public: myclass (date int_): date (data_) {} virtual void foo () = 0; virtual ~ class () {} }; | struct myclass { privat: int date; public: myclass (date int_): date (data_) {} virtual void foo () = 0; virtual ~ class () {} }; |
Scop | Abstractizarea datelor și moștenirea ulterioară | În general, gruparea datelor |
Tip | Referinţă | Valoare |
folosire | Utilizată în general pentru cantități mari de date. | În general, utilizată pentru cantități mai mici de date. |