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

351

    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. Kelekkakisat

      Mikä vakava onnettomuus sattunut kisoissa. On peruttu koko kisat. Pelastuskopteri näytti käyvän paikalla.
      Nivala
      26
      11089
    2. Aivan kauheaa

      Veikö koskiuoma taas ihmishengen? Se pitää kieltää!
      Imatra
      46
      8541
    3. Onko kaivattusi

      …mielestäsi älykäs, tai kenties tyhmä? Oma mielipide.
      Ikävä
      133
      5376
    4. Kuinka pitkä välimatka

      on teidän kotien välillä?
      Ikävä
      144
      3684
    5. Epäilen ettet edes

      Kehtaisi liikkua kanssani.
      Ikävä
      69
      3608
    6. Virkamiehille tarvitaan tuntuvat palkankorotukset

      Naistenpäivänä on syytä muistuttaa, että virkamiehen euro on vain 80 senttiä. Palkat tulee saattaa samalle tasolle yksi
      Maailman menoa
      35
      3564
    7. Oletko huomannut

      Yhden muutoksen?
      Ikävä
      40
      3288
    8. Jäikö meidän välit

      Mielestäsi Kesken?
      Ikävä
      55
      2569
    9. Olisipa saanut sinuun

      Tutustua paremmin. Harmi että aloin lopulta jännittämään kun näytit tunteesi niin voimakkaasti ja lähestyit niin voimaak
      Ikävä
      39
      2091
    10. Miltä mahtaa tuntua

      Sitten kun näet hänet pitkästä aikaa?
      Tunteet
      28
      1816
    Aihe