• 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

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
+1 głos
400 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 933 wizyt
pytanie zadane 7 maja 2020 w C i C++ przez dominik195k Obywatel (1,030 p.)
+1 głos
2 odpowiedzi 410 wizyt
pytanie zadane 25 grudnia 2020 w C i C++ przez TOWaD Mądrala (6,250 p.)
0 głosów
1 odpowiedź 575 wizyt
pytanie zadane 10 czerwca 2020 w C i C++ przez ResCrove Obywatel (1,700 p.)

93,191 zapytań

142,206 odpowiedzi

322,040 komentarzy

62,518 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2817p. - dia-Chann
  2. 2769p. - Łukasz Piwowar
  3. 2759p. - Łukasz Eckert
  4. 2738p. - CC PL
  5. 2704p. - Tomasz Bielak
  6. 2678p. - Łukasz Siedlecki
  7. 2666p. - rucin93
  8. 2536p. - Mikbac
  9. 2485p. - Marcin Putra
  10. 2475p. - Adrian Wieprzkowicz
  11. 2418p. - Michal Drewniak
  12. 2239p. - Michał Telesz
  13. 2156p. - Anonim 3619784
  14. 1733p. - rafalszastok
  15. 1650p. - Mariusz Fornal
Szczegóły i pełne wyniki

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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...