Inizializacja obiektu składowego static const

0

Mam taki problem:

class data
{
public: 
        static const data zmienna;
protected:
        int rok;
        dzienTygodnia dzien; //to jest tym enum
        miesiace miesiac;   // to tez typ enum

}

Moje pytanie jest takie jak nadać wartości temu obiektowi "static const data zmienna;" ??
Wiem że to może jest banał no ale nie mogę nic na ten temat wyszukać dodam że próbowałem tez w liście inicjalizacyjnej konstruktora i też nie da się tak jak by to był obiekt int od razu w przy deklaracji nadać wartości. Chyba że coś robię źle.

0

No niestety widziałem już te strony one dają mi odpowiedź na to jak nadac wartość obiektowi np "int" natomiast nie działa to na obiekty klasy zdefiniowanych przez użytkownika.

0

Musisz zdefiniować to pole poza obszarem klasy.

2

Jakiś powód, dla którego wyciąłeś te enumy z kodu?
Wiesz ile minut musiałem poświęcić na wygóglanie greckich nazw dni i miesięcy?

Zdefiniuj konstruktor.

enum dzienTygodnia
{
    Δευτέρα,
    Τρίτη,
    Τετάρτη,
    Πέμπτη,
    Παρασκευή,
    Σάββατο,
    Κυριακή
};

enum miesiace
{
    Ιανουάριος,
    Φεβρουάριος,
    Μάρτιος,
    Απρίλιος,
    Μάιος,
    Ιούνιος,
    Ιούλιος,
    Αύγουστος,
    Σεπτέμβριος,
    Οκτώβριος,
    Νοέμβριος,
    Δεκέμβριος
};

class data
{
public: 
    static const data zmienna;
    data(int arok, miesiace amiesiac, dzienTygodnia adzien)
        : rok(arok)
        , dzien(adzien)
        , miesiac(amiesiac)
    {}
protected:
    int rok;
    dzienTygodnia dzien; //to jest tym enum
    miesiace miesiac;   // to tez typ enum
};

const data data::zmienna(2012, Νοέμβριος, Σάββατο);
0

Dzięki wielkie że też nie pomyślałem o tym że to konstruktor może inicjować.

0

To co wg Ciebie miał by on robić?

0

Źle mnie zrozumiałeś po prostu nie widziałem konstruktora w takiej sytuacji i po prostu na to nie wpadłem, tyle.

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