Avatar billede berit_l Nybegynder
21. november 2000 - 21:01 Der er 2 kommentarer og
1 løsning

Heap-lageret

Hej! Er der nogen derude der kan hjælpe mig?
Jeg vil lave et program med en klasse, der under programkørslerne håndteres i et heap-lager; og mellem programkørslerne opbevares i en fil? Jeg har en container-klasse. Det med heap-lageret er det der volder mig størst problemer. Jeg vil jo gerne lægge alle tabeller og atributter i klassen ud i heap-lageret, hvor jeg så via en medlemsfunktion kan sorterer dem. Der er 100 point til et godt svar...
Avatar billede lbs Nybegynder
22. november 2000 - 01:13 #1
for at lægge til på heap\'en bruger du new operatoren.

det vil sige, hvor du plejer at lave dit object sådan her

ditObject obj = ditObject();

skal du nu gøre det på den her måde

ditObject* obj = new ditObject();

Det er en pointer du får retur. altså en adresse i lageret, hvor dit objekt er blevet placeret!
Avatar billede berit_l Nybegynder
22. november 2000 - 09:12 #2
Takker! Jeg gjorde mig blot nogle overvejelser om at det burde være muligt at lave en pointer -ikke til hver tabel i klassen, men lave en til klassen. Så man på den måde kunne overføre hele klassen til heap-lageret. Jeg ved ikke om det er tilladt, men jeg tænkte at det her sted, måtte være det rette forum at prøve og få svar.
Avatar billede lbs Nybegynder
23. november 2000 - 02:21 #3
hmm ja, du kan jo lave din klasse så den indeholder en pointer som her:

class manyInts{
    manyInts(int size);
    int* theIntList;
    int listLength;
}

og så i implementationen:

manyInts::manyInts(int size){
    listLength = size;
    theIntList = new int[size];
}


Så kan du returnere dit objekt, og listerne bliver bevaret da de ligger på hoben.

yderst anvendeligt :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester