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?
Luettelujen alustaminen konstruktorissa?
3
351
Vastaukset
- 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
Kelekkakisat
Mikä vakava onnettomuus sattunut kisoissa. On peruttu koko kisat. Pelastuskopteri näytti käyvän paikalla.2611089- 468541
- 1335376
- 1443684
- 693608
Virkamiehille tarvitaan tuntuvat palkankorotukset
Naistenpäivänä on syytä muistuttaa, että virkamiehen euro on vain 80 senttiä. Palkat tulee saattaa samalle tasolle yksi353564- 403288
- 552569
Olisipa saanut sinuun
Tutustua paremmin. Harmi että aloin lopulta jännittämään kun näytit tunteesi niin voimakkaasti ja lähestyit niin voimaak392091- 281816