einaren Skrevet 14. november 2001 Del Skrevet 14. november 2001 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
Magellan Skrevet 17. november 2001 Del Skrevet 17. november 2001 Hei! int tabell[5] = {1, 2, 3, 4, 5} Dette skal vel fungere? _________________ Morten Vik Ansvarlig for [ Denne Melding var redigert av: Magellan på 2001-11-17 14:29 ] [ Denne Melding var redigert av: Magellan på 2001-11-17 14:29 ] Lenke til kommentar
zauron Skrevet 17. november 2001 Del Skrevet 17. november 2001 Ja da du initialiserer arrayen går det med int noe[3] = {1,2,3}; men dette går ikke int noe[3]; noe[] = {1,2,3}; Lenke til kommentar
Coq Rouge Skrevet 18. desember 2001 Del Skrevet 18. desember 2001 Et alternativ er jo selvsagt: class xxx { xxx(); int *tabell; }; xxx::xxx() { int temptabell[] = {1,2,3,4,5}; tabell = temptabell; } Men dette er ikke en akkurat pen måte å gjøre det på da. Coq Rouge Lenke til kommentar
abaddon Skrevet 25. februar 2002 Del Skrevet 25. februar 2002 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
leif81 Skrevet 20. mars 2002 Del Skrevet 20. mars 2002 Quote: On 2001-11-14 13:14, einaren skrev:....//konstruktørxxx::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
Gyro Skrevet 26. mars 2002 Del Skrevet 26. mars 2002 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
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå