Kluczowa różnica: C ++ jest językiem zorientowanym obiektowo, który koncentruje się głównie na obiektach. Klasę w C ++ można zdefiniować jako zbiór powiązanych zmiennych i funkcji zamkniętych w pojedynczej strukturze. Instancje klasy są określane jako obiekty. Struktura w C ++ może być określana jako typ danych zdefiniowany przez użytkownika, posiadający własne operacje. W przeciwieństwie do języka C oba są dość podobne w C ++. Główna różnica między nimi dotyczy modyfikatora dostępu; członkowie klasy są domyślnie prywatni, podczas gdy członkowie struktury są domyślnie publiczni.
Klasa w C ++ jest po prostu rozszerzeniem struktury używanej w języku C. Jest to typ danych zdefiniowany przez użytkownika. W rzeczywistości wiąże dane i związane z nimi funkcje w jednej jednostce. Struktura i klasa w języku C różni się bardzo, ponieważ struktura ma ograniczoną funkcjonalność i funkcje w porównaniu z klasą. Z drugiej strony struktura i klasa w C ++ są dość podobne. Główna różnica wynika z faktu, że domyślnie wszyscy członkowie klasy są prywatni, podczas gdy domyślnie wszyscy członkowie danej struktury są publiczni.
Porównanie klasy i struktury w C ++:
Klasa | Struktura | |
Definicja | Klasę w C ++ można zdefiniować jako zbiór powiązanych zmiennych i funkcji zamkniętych w pojedynczej strukturze. | Struktura może być określana jako typ danych zdefiniowany przez użytkownika, posiadający własne operacje. |
Słowo kluczowe dla deklaracji | Klasa | Struct |
Domyślny specyfikator dostępu | Prywatny | Publiczny |
Przykład | myclass klasy { prywatny: dane int; publiczny: myclass (int data_): dane (dane_) {} virtual void foo () = 0; virtual ~ class () {} }; | struct myclass { prywatny: dane int; publiczny: myclass (int data_): dane (dane_) {} virtual void foo () = 0; virtual ~ class () {} }; |
Cel, powód | Pozyskiwanie danych i dalsze dziedziczenie | Ogólnie, grupowanie danych |
Rodzaj | Odniesienie | Wartość |
Stosowanie | Zwykle używany do dużych ilości danych. | Zwykle stosowany dla mniejszych ilości danych. |