Kulcskülönbség: A C ++ egy objektumorientált nyelv, amely főként az objektumokra fókuszál. A C ++ egy osztálya olyan összefüggő változók és függvények gyűjteményeként definiálható, amelyek egyetlen struktúrába vannak beágyazva. Az osztály példányait objektumoknak nevezik. A C ++ struktúrája a felhasználó által definiált adattípusnak nevezhető, amely saját műveletei vannak. A C nyelvtől eltérően mindkettő meglehetősen hasonló a C ++ -nál. A köztük lévő fő különbség a hozzáférési módosításra vonatkozik; az osztály tagjai alapértelmezés szerint privátak, míg a struktúra tagjai alapértelmezés szerint nyilvánosak.
A C ++ osztály csak a C nyelvben használt struktúra kiterjesztése. Ez egy felhasználó által definiált adattípus. Valójában egy egységben köti az adatokat és a kapcsolódó funkciókat. A struktúra és a C osztályú osztály sokban különbözik, mivel a struktúrának korlátozott funkcionalitása és jellemzői vannak az osztályhoz képest. Másrészt a C ++ struktúrája és osztálya meglehetősen hasonló. A fő különbség abból adódik, hogy alapértelmezés szerint egy osztály valamennyi tagja magán, míg alapértelmezés szerint a struktúra minden tagja nyilvános.
Az osztály és a struktúra összehasonlítása C ++-ban:
Osztály | Szerkezet | |
Meghatározás | A C ++ egy osztálya olyan összefüggő változók és függvények gyűjteményeként definiálható, amelyek egyetlen struktúrába vannak beágyazva. | A struktúra a felhasználó által definiált adattípusnak nevezhető, amelynek saját műveletei vannak. |
Kulcsszó a nyilatkozathoz | Osztály | struktúra |
Alapértelmezett hozzáférési beállítás | Magán | Nyilvános |
Példa | osztályú myclass { magán: int adatok; nyilvános: myclass (int data_): adatok (data_) {} virtual void foo () = 0; virtuális ~ osztály () {} }; | struktúra myclass { magán: int adatok; nyilvános: myclass (int data_): adatok (data_) {} virtual void foo () = 0; virtuális ~ osztály () {} }; |
Célja | Adatkivonás és további öröklés | Általában az adatok csoportosítása |
típus | Referencia | Érték |
Használat | Általában nagy mennyiségű adathoz használatos. | Általában kisebb adatmennyiségekre használják. |