Luettelujen alustaminen konstruktorissa?

Alustus kuntoon

Olen kirjoittanut ohjelmaa, jossa autolle on tehty luokka "auto". Ajattelin kokeilla värejä luettelutyyppisinä (enum) seuraavasti:

enum vari {musta, valkoinen,
sininen, punainen};

Pulmana on siis värin alustaminen konstruktorissa mustaksi (Käyttäjä vois myöhemmin muutella). Meneekö se koodi tällain:

auto::auto()
{
... //Muuta koodia
vari {musta};
... //Muuta koodia
}

Jos ei mene noin niin miten sen saa?

3

350

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • RKM

      enum vari {musta, valk}; esittelee vasta enum-tyypin.

      muuttuja pitää esitellä:

      vari auton_vari;

      ja arvo asetetaan:

      auton_vari = musta;

      • Alustus kuntoon

        Tiedän, että muuttuja pitää esitellä pääohjelmassa, mutta esitelläänkö muuttuja myös sovellustiedostossa, jossa on konstruktorin koodi?

        Tämä juttu on jäänyt hieman epäselväksi.


      • RKM
        Alustus kuntoon kirjoitti:

        Tiedän, että muuttuja pitää esitellä pääohjelmassa, mutta esitelläänkö muuttuja myös sovellustiedostossa, jossa on konstruktorin koodi?

        Tämä juttu on jäänyt hieman epäselväksi.

        Luokan esittelyyn muuttuja, ja enum-tyypin esittely pitää sitä ennen olla esitelty jossakin, esim. auto.h-tiedostoon:

        ---

        enum VARI {MUSTA, PUNAINEN};

        class Auto {
        public:
        Auto();
        virtual ~Auto();

        private:
        VARI vari;
        };

        ---

        ja auto.cpp

        ---

        #include "auto.h"

        Auto::Auto() {
        vari = MUSTA;
        }

        ...


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Vasemmistohallitus palauttaa hintasääntelyn, esim. bensalitra vain 1e.

      Tuleva vasemmistolaisista koostuva hallitus ottaa käyttöön vanhat hyvät keinot pitää hinnat kurissa. Tähän tarkoitukse
      Maailman menoa
      46
      4091
    2. SDP:n kansanedustaja Nazima Radmyar uhriutuu somessa saamistaan viesteistä.

      https://www.is.fi/politiikka/art-2000011854410.html Miksi Razmyar ei kestä kansan palautetta oikean kansanedustajan tavo
      Maailman menoa
      282
      4034
    3. Muistatteko kuinka Marinin hallituksen aikaan kansalaisilla oli varaa kuluttaa?

      Tavallisella perheelläkin oli rahaa käydä sääännöllisesti ravintoloissa syömässä, koska vahvat ammattiliitot olivat neuv
      Maailman menoa
      137
      3535
    4. Vasemmistolainen valehteli jälleen - Purra tai persut eivät luvanneet "euron bensaa"

      Väite "euron bensasta" on ensisijaisesti poliittisten vastustajien käyttämä puhdas vale. Persut kyllä kampanjoivat näky
      Maailman menoa
      91
      3494
    5. Korpelanvaara

      Korpelanvaaran alle tulee uusi hevosurheilu keskus monen miljoonan investoinnit
      Suomussalmi
      27
      2381
    6. Muistatteko kuinka Marinin hallituksen aikaan kansalaisilla oli varaa kuluttaa?

      Tavallisella perheelläkin oli rahaa käydä sääännöllisesti ravintoloissa syömässä, koska vahvat ammattiliitot olivat neuv
      Maailman menoa
      35
      1849
    7. Antti johtaa Petteriä jo 7,1 prosenttiyksiköllä

      Tällä menolla sdp menee kokoomuksesta kierroksella ohi jo tällä vaalikaudella. https://yle.fi/a/74-20213575
      Maailman menoa
      63
      1749
    8. Osaatko arvata

      Mitä ajattelin?
      Ikävä
      37
      1650
    9. Heippa nainen

      Tykkään susta niin että halkeen 😘 Kivaa iltaa. t-mies
      Ikävä
      33
      1578
    10. Meidän täytyy tavata

      Siis se on välttämättömyys.
      Ikävä
      97
      1559
    Aihe