Klíčový rozdíl: C ++ je objektově orientovaný jazyk, který se zaměřuje především na objekty. Třídu v jazyce C ++ lze definovat jako sbírku souvisejících proměnných a funkcí zapouzdřených v jedné struktuře. Instance třídy jsou označovány jako objekty. Struktura v jazyce C ++ může být označována jako uživatelsky definovaný datový typ, který má vlastní operace. Na rozdíl od jazyka C jsou oba v C ++ velmi podobné. Hlavní rozdíl, který mezi nimi existuje, se týká modifikátoru přístupu; členové třídy jsou ve výchozím nastavení soukromí, zatímco členové struktury jsou ve výchozím nastavení veřejní.

Třída v jazyce C ++ je pouze rozšířením struktury používaného v jazyce C. Jedná se o datový typ definovaný uživatelem. Ve skutečnosti váže data a související funkce v jedné jednotce. Struktura a třída v jazyce C se liší hodně, neboť struktura má omezenou funkčnost a vlastnosti v porovnání s třídou. Na druhou stranu struktura a třída v C ++ jsou celkem podobné. Hlavní rozdíl nastává z důvodu, že všichni členové třídy jsou ve výchozím nastavení soukromí, zatímco všichni členové struktury jsou ve výchozím stavu veřejní.

Srovnání třídy a struktury v jazyce C ++:
Třída | Struktura | |
Definice | Třídu v jazyce C ++ lze definovat jako sbírku souvisejících proměnných a funkcí zapouzdřených v jedné struktuře. | Struktura může být označována jako uživatelsky definovaný typ dat, který má vlastní operace. |
Klíčové slovo pro prohlášení | Třída | Struct |
Výchozí specifikátor přístupu | Soukromé | Veřejnost |
Příklad | třída myclass {{ soukromé: int data; veřejnost: myclass (int data_): data (data_) {} virtuální void foo () = 0; virtuální ~ třída () {} }; | struct myclass {{ soukromé: int data; veřejnost: myclass (int data_): data (data_) {} virtuální void foo () = 0; virtuální ~ třída () {} }; |
Účel | Abstrakce dat a další dědictví | Obecně seskupování dat |
Typ | Odkaz | Hodnota |
Používání | Obecně se používá pro velké množství dat. | Obecně se používá pro menší množství dat. |