Galvenā atšķirība: C + + ir objektorientēta valoda, kas galvenokārt koncentrējas uz objektiem. C + + klasi var definēt kā saistītu mainīgo un vienotā struktūrā iekļauto funkciju kolekciju. Klases gadījumi tiek saukti par objektiem. C ++ struktūru var saukt par lietotāja definētu datu tipu, kam ir savas darbības. Atšķirībā no C valodas, tie abi ir diezgan līdzīgi C + +. Galvenā atšķirība starp tām ir attiecībā uz piekļuves modificētāju; klases dalībnieki pēc noklusējuma ir privāti, savukārt pēc noklusējuma struktūras locekļi ir publiski.
C + + klase ir tikai C valodā izmantotās struktūras paplašinājums. Tas ir lietotāja definēts datu tips. Tas faktiski saisto datus un ar tām saistītās funkcijas vienā vienībā. Struktūra un klase C valodā atšķiras daudz, jo struktūrai ir ierobežotas funkcionalitātes un funkcijas salīdzinājumā ar klasi. No otras puses, struktūra un klase C + + ir diezgan līdzīgas. Galvenā atšķirība rodas tādēļ, ka pēc noklusējuma visi klases locekļi ir privāti, bet pēc noklusējuma visi struktūras locekļi ir publiski.
Klases un struktūras salīdzinājums C ++:
Klase | Struktūra | |
Definīcija | C + + klasi var definēt kā saistītu mainīgo un vienotā struktūrā iekļauto funkciju kolekciju. | Struktūru var saukt par lietotāja definētu datu tipu, kam ir savas darbības. |
Deklarācijas atslēgvārds | Klase | Struktūra |
Noklusējuma piekļuves specifikācija | Privāts | Publiski |
Piemērs | klases myclass { Privāts: int dati; publiski: myclass (int data_): dati (dati_) {} virtual void foo () = 0; virtuālā ~ klase () {} }; | struktūra myclass { Privāts: int dati; publiski: myclass (int data_): dati (dati_) {} virtual void foo () = 0; virtuālā ~ klase () {} }; |
Mērķis | Datu abstrakcija un turpmāka mantošana | Parasti datu grupēšana |
Tips | Atsauce | Vērtība |
Lietošana | Parasti izmanto lieliem datu apjomiem. | Parasti izmanto mazākiem datu apjomiem. |