Gå til innhold

initialisere array i en klasse


Anbefalte innlegg

joja, her var det ikke mye folk, men jeg håper noen der ute kan svare meg..

 

Jeg ønsker å initialisere et array i en klasse slik

 

//klassedeklarasjon

class xxx {

int tabell[5]

};

 

//konstruktør

xxx::xxx()

{

tabell[] = {1, 2, 3, 4, 5};

}

 

--------------

Men det ovenstående er ikke mulig, noen som vet hvordan dette gjøres? ( jmf int tabell[] = {1, 2, 3, 4, 5}; )

 

jeg vil gjerne slippe å skrive det slik:

//konstruktør

xxx::xxx()

{

tabell[0] = 1;

tabell[1] = 2;

tabell[2] = 3;

tabell[3] = 4;

tabell[4] = 5;

}

 

Takker for all hjelp.

 

 

einaren!

Lenke til kommentar
Videoannonse
Annonse
  • 1 måned senere...
  • 2 måneder senere...

Annen metode for å gjøre det på kunne jo vært slik:

 

#define NR_ELEMENTS 5

 

class xxx

{

int elements[NR_ELEMENTS];

}

 

Konstruktør:

 

xxx:xxx()

{

for ( int i = 0; i < NR_ELEMENTS; i++ ) elements = 0;

return;

}

 

_________________

Signatur?

 

[ Denne Melding var redigert av: abaddon på 2002-02-25 11:52 ]

Lenke til kommentar
  • 4 uker senere...

Quote:


On 2001-11-14 13:14, einaren skrev:


....


//konstruktør

xxx::xxx()

{

tabell[] = {1, 2, 3, 4, 5};

}


--------------

Men det ovenstående er ikke mulig, noen som vet hvordan dette gjøres? ( jmf int tabell[] = {1, 2, 3, 4, 5}; )


....


 

Lag en for-løkke som gjør jobben for deg!

Eks.

 

xxx:xxx() {

 

int temp[] = {1, 2, 3, 4};

 

for(int i = 0; i<4; i++) {

tabell = temp;

}

 

}

 

[ Denne Melding var redigert av: leif81 på 2002-03-21 00:12 ]

Lenke til kommentar

Må bare peke på en klassisk feil.

 

Quote:


On 2001-12-18 15:56, Coq Rouge skrev:


class xxx {

xxx();

int *tabell;

};


xxx::xxx()

{

int temptabell[] = {1,2,3,4,5};

tabell = temptabell;

}



 

Her setter du pekeren tabell til å peke på en temporær tabell. Når funksjonen går ut av 'scope' så vil denne temptabell slettes og verdiene som tabell peker på, kan ikke garanteres å være der. På min kompilator så ligger det bare tullball der.

Jeg vil anbefale å bruke en for løkke eller en while-løkke til å fylle en tabell.

Jeg vile gjort det slik:

for( int i=0; i<5; ++i )

{

tabell = i+1;

}

 

eller

int i(5);

while(i--)

{

tabell = i+1;

}

 

Husk her at programmet allerede har satt av minst 5 plasser for tabell, før denne koden kjøres-

Den siste er tatt med for morroskyld :wink:

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...