Tärkein ero: C ++ on objektorientoitu kieli, joka keskittyy pääasiassa kohteisiin. C ++: n luokka voidaan määritellä samankaltaisiin muuttujiin ja toimintoihin, jotka on kapseloitu yhteen rakenteeseen. Luokan esiintymiä kutsutaan esineiksi. C ++: n rakennetta voidaan kutsua käyttäjän määrittelemäksi tietotyypiksi, jolla on omat toiminnot. Toisin kuin C-kielellä, molemmat ovat melko samankaltaisia C ++: ssa. Pääasiallinen ero, joka on niiden välillä, koskee pääsyn muokkausta; luokan jäsenet ovat oletusarvoisesti yksityisiä, kun taas jäsenten jäsenet ovat oletusarvoisesti julkisia.

C ++ -luokka on vain C-kielellä käytetyn rakenteen laajennus. Se on käyttäjän määrittämä tietotyyppi. Se sitoo itse asiassa tiedot ja siihen liittyvät toiminnot yhteen yksikköön. Rakenne ja luokka C-kielellä eroavat paljon, koska rakenteella on rajallinen toiminnallisuus ja ominaisuudet verrattuna luokkaan. Toisaalta C ++: n rakenne ja luokka ovat melko samanlaisia. Suurin ero johtuu siitä, että kaikki luokan jäsenet ovat oletusarvoisesti yksityisiä, kun taas kaikki rakenteen jäsenet ovat olleet julkisia.

Luokan ja rakenteen vertailu C ++: ssa:
luokka | Rakenne | |
Määritelmä | C ++: n luokka voidaan määritellä samankaltaisiin muuttujiin ja toimintoihin, jotka on kapseloitu yhteen rakenteeseen. | Rakennetta voidaan kutsua käyttäjän määrittelemäksi tietotyypiksi, jolla on omat toiminnot. |
Avainsana ilmoitukselle | luokka | struct |
Oletusoikeudetunniste | yksityinen | Julkinen |
esimerkki | luokan myclass { yksityinen: int data; julkinen: myclass (int data_): tiedot (data_) {} virtual void foo () = 0; virtuaalinen ~ luokka () {} }; | struct myclass { yksityinen: int data; julkinen: myclass (int data_): tiedot (data_) {} virtual void foo () = 0; virtuaalinen ~ luokka () {} }; |
Tarkoitus | Tietojen otto ja perintö | Yleensä tietojen ryhmittely |
Tyyppi | Viite | Arvo |
Käyttö | Yleisesti käytetään suuriin tietomääriin. | Yleisesti käytetään pienempiin tietomääriin. |