Constructor

Tags:    c++

Hej alle.

Jeg har lidt problemer med at bruge constructors.

I min headerfil har jeg oprettet en enum samt en Class som indeholder en map(private) og fire medlemsfunktioner(public).

Min map består af den oprettede enum samt et tal, hvor enum er key.

Skal jeg bruge en constructor til at initialisere min enum til værdien nul for hver parameter?

Skal min map desuden initialiseres til noget eller hvad?



Enum har ikke en constructor. Det er konstante integer værdier.

Dit map er derimod et objekt som skal initialiseres, men det gøres oftest med default constructoren:

Fold kodeboks ind/udC++ kode 




Indlæg senest redigeret d. 14.10.2008 13:47 af Bruger #2695
Tak for din svar.

Men hvordan initialisere man så en map?



Tak for din svar.

Men hvordan initialisere man så en map?


Som jeg gjorde :)

Fold kodeboks ind/udKode 


Output:
Fold kodeboks ind/udKode 




Men din map bliver da ikke initialisere vha en constructor i en class?



Men din map bliver da ikke initialisere vha en constructor i en class?


map klassen har sin egen constructor som initialiserer den (den starter med at være tom), og det er den jeg kalder her:
Fold kodeboks ind/udKode 

Ovenstående linje ér initialiseringen af mappet. Derefter går jeg så i gang med at fylde noget i det.



aha.

Man kan vel så samle det hele i en class:


////// HEADER

enum MyEnum {
MY_FIRST_VALUE,
MY_SECOND_VALUE
};


class myClass
{
public:
myClass()
{
my_map[MY_FIRST_VALUE] = 0,
my_map[MY_SECOND_VALUE] = 1,
}
private:
map<enum MyEnum, int> my_map;
};


Hvor myClass() er constructoren. Er det mon korrekt?




Indlæg senest redigeret d. 14.10.2008 18:45 af Bruger #14048
aha.

Man kan vel så samle det hele i en class:


////// HEADER

enum MyEnum {
MY_FIRST_VALUE,
MY_SECOND_VALUE
};


class myClass
{
public:
myClass()
{
my_map[MY_FIRST_VALUE] = 0,
my_map[MY_SECOND_VALUE] = 1,
}
private:
map<enum MyEnum, int> my_map;
};


Hvor myClass() er constructoren. Er det mon korrekt?


Det er korrekt



Tak for din hjælp!



t