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
319
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
- 665180
Suomen kaksikielisyys - täyttä huuhaata
Eivätkö muuten yksilöt pysty arvioimaan mitä kieliä he tarvitsevat? Ulkomaalaiselle osaajalle riittää Suomessa kielitai574617Työeläkeloisinta 27,5 mrd. per vuosi
Tuo kaikki on pois palkansaajien ostovoimasta. Ja sitten puupäät ihmettelee miksei Suomen talous kasva. No eihän se kas1234569Mikä on vaikeinta siinä, että menetti yhteyden kaivattuun, jota vielä ajattelee?
Mikä jäi kaihertamaan? Jos jokin olisi voinut mennä toisin, mitä se olisi ollut? Mitä olisit toivonut vielä ehtiväsi san3381897- 851523
- 921484
- 2351370
- 3231097
- 200971
Pääsit koskettamaan
Sellaista osaa minussa jota kukaan ei ole ennen koskettanut. Siksi on hyvin vaikea unohtaa sinut kokonaan.51903