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
      21
      10835
    2. Aivan kauheaa

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

      …mielestäsi älykäs, tai kenties tyhmä? Oma mielipide.
      Ikävä
      123
      5211
    4. Epäilen ettet edes

      Kehtaisi liikkua kanssani.
      Ikävä
      69
      3538
    5. Kuinka pitkä välimatka

      on teidän kotien välillä?
      Ikävä
      112
      3538
    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
      32
      3492
    7. Eikö me voitais

      Vaan harrastaa seksiä kun muusta ei tule mitään
      Ikävä
      61
      3380
    8. Oletko huomannut

      Yhden muutoksen?
      Ikävä
      33
      3137
    9. Jäikö meidän välit

      Mielestäsi Kesken?
      Ikävä
      53
      2464
    10. 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ä
      34
      1966
    Aihe