enum wewnątrz klasy

enum wewnątrz klasy
M2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4
0

Witam, mam problem. Chciałabym stworzyć klasę Karta, która ma pole Kolor, mogąca przyjąć tylko 4 wartości: pik, trefl, karo, kier. Chciałabym użyć do tego stałych wyliczeniowych, typ enum. Nie wiem jednak, jak to zrobić, aby kompilator nie wyrzucał błędu. Proszę o pomoc.

several
  • Rejestracja: dni
  • Ostatnio: dni
n0name_l
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2412
1
Kopiuj
enum KOLOR
{
    PIK,
    TREFL,
    KARO,
    KIER
};

class bla
{
    KOLOR kolor;
};

Nie chodzi o cos takiego raczej?

byku_guzio
  • Rejestracja: dni
  • Ostatnio: dni
2

Ja bym zrobił raczej tak:

Kopiuj
class Karta
{
public:
  enum Kolor
  {
    PIK,
    ...
  };

private:
  Kolor kolor;
};
_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
1

Opcja od @byku_guzio jest najbardziej elegancka.

  • wewnątrz metod klasy Karta możesz używać bezpośrednio PIK.
  • na zewnątrz klasy też możesz używać jako Karta::PIK

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.