• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Prosba o wytlumaczenie uzywania enum w cpp

Object Storage Arubacloud
+1 głos
357 wizyt
pytanie zadane 14 września 2015 w C i C++ przez 0xf Dyskutant (8,180 p.)
Witam, ucze sie od dluzszego czasu cpp, wlasnie sobie powtarzam zasady obiektowki i przy okazji natknalem sie na deklaracje "enum" i chcialbym sie spytac co ona oznacza, do czego sie ja stosuje i co wogole robi ?

Z gory dzieki za pomoc;

4 odpowiedzi

0 głosów
odpowiedź 14 września 2015 przez Patrycjerz Mędrzec (192,320 p.)

Ehh... a w Internecie czegoś nie znajdziesz?

Po krótce enum to typ enumeracyjny, czyli wyliczenie czegoś. Stosuje się go wtedy, gdy dana zmienna ma mieć tylko pewną wartość, lub gdy chcemy przyrównać coś do tego wyliczenia. Oczywiście można to zastąpić w niektórych kwestiach innymi elementami języka, ale taki typ jest bardzo czytelny i powoduje mniejszą awaryjność kodu.

0 głosów
odpowiedź 14 września 2015 przez criss Mędrzec (172,590 p.)

Ja go osobiście używam dla czytelności kodu i wydaje mi sie, ze głównie tak jest używany. Np. załóżmy, że masz klasy Kot, Pies i Mysz dziedziczące z klasy Zwierze. Tworzysz sobie takiego enuma 

enum ANIMAL{ KOT, PIES, MYSZ};

I każdej klasie tworzysz zmienną ANIMAL typ. Teraz operując na wskaźniku Zwierze, mozesz sprawdzic na obiekt jakiej klasy wlasciwie wskazuje wskaznik - sprawdzasz wartosc wskaznik->typ. Oczywiscie moglbys to zrobic na intach - tzn. 0 odpowiada Kotu, 1 - Psu itd. Ale powtarzam - to jest dla czytelności. Z resztą wartości enuma tez dostają wartości liczbowe domyślnie, albo sam mozesz je nadawac w deklaracji:

enum ANIMAL { KOT = 3, PIES = 7, MYSZ = 11};

Jeśli sam nie nadasz wartości, to domyślnie zostaną nadane kolejne liczby począwszy od zera: KOT =0, PIES = 1, MYSZ = 2... 

0 głosów
odpowiedź 14 września 2015 przez Szykem2 Nałogowiec (29,510 p.)

Tak łopatologicznie enum stosuje się gdy chcemy widzieć o co chodzi w programie(żeby nie pogubić się co jaka liczba oznacza) np.

enum option{PLAY = 1, QUIT};
//piszemy gre i zamiast
foo(/*jakies argumenty*/, 1);

//wywołujemy
foo(/*jakies argumety*/, PLAY); // działa dokładnie tak samo jak wyżej ale wiemy dokładnie o co chodzi w tej funkcji. 
                                //Wiemy, że foo ma rozpocząć grę a nie ją zakończyć co przy liczbach 
                                //jeśli ma się więcej opcji może być trudne do ustalenia 
                                //zwłaszcza przez kogoś kto nie pisał tego kodu

 

0 głosów
odpowiedź 14 września 2015 przez niezalogowany

Enum to typ wyliczeniowy (jak Patrycjerz wspomniał), który układa swoje elementy w danej kolejności i każdemu przypisuje kolejną wartość. Czyli to:

enum typWyliczeniowy{pierwszaLiczba,drugaLiczba,trzeciaLiczba};

tworzy TypWyliczeniowy, który liczbie pierwszaLiczba przypisuje liczbę 0, drugaLiczba ma 1 i tak dalej. Jeśli chcesz, żeby porządek był inny, to możesz to sam sobie zrobić. Na przykład takie coś:

enum typWyliczeniowy{pierwszaLiczba,drugaLiczba=7,trzeciaLiczba};

zrobi tak, że pierwszaLiczba będzie równa 0, drugaLiczba będzie równa 7, a trzeciaLiczba - no, jak myślisz? Jeśli myślałeś o 8, to dobrze myślałeś ;) Typ wyliczeniowy, bo sobie po kolei wylicza. Ale pamiętaj, że enum tworzy typ, a nie konkretną zmienną. Jak chcesz stworzyć zmienną tego typu wyliczeniowego, to standardowo:

typWyliczeniowy mojEnum;

Jak chcesz coś do niego przypisać, to musisz to zrobić tak:

mojEnum=pierwszaLiczba;

To chyba tyle podstaw, jak chcesz wiedzieć jeszcze więcej, to szczegółów poszukaj na internecie albo przeczytaj ,,Symfonię C++" ;)

Podobne pytania

0 głosów
4 odpowiedzi 607 wizyt
pytanie zadane 7 maja 2020 w C i C++ przez dominik195k Obywatel (1,030 p.)
+1 głos
2 odpowiedzi 277 wizyt
pytanie zadane 25 grudnia 2020 w C i C++ przez TOWaD Mądrala (5,700 p.)
0 głosów
1 odpowiedź 493 wizyt
pytanie zadane 10 czerwca 2020 w C i C++ przez ResCrove Obywatel (1,700 p.)

92,575 zapytań

141,424 odpowiedzi

319,649 komentarzy

61,960 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...