enum wewnątrz klasy

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.

1
enum KOLOR
{
    PIK,
    TREFL,
    KARO,
    KIER
};

class bla
{
    KOLOR kolor;
};

Nie chodzi o cos takiego raczej?

2

Ja bym zrobił raczej tak:

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

private:
  Kolor kolor;
};
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

1 użytkowników online, w tym zalogowanych: 0, gości: 1