Avatar billede tzr Nybegynder
28. december 2001 - 22:03 Der er 3 kommentarer og
1 løsning

slette class

lad os nu sige jeg har en class der fx hedder \'account\', og laver en:
account test;

hvordan sletter jeg nu test ?
jeg ved godt hvordan man gør hvis man bruger pointers, men hvordan gør jeg her ... og kan det også bruges med normalt data types ?
Avatar billede mickni33 Nybegynder
29. december 2001 - 13:14 #1
Det er derfor man bruger pointer objekter for så deleter man dem så de ikke bruger plads

men ved ikke lige hvorfor du vil slatte test men der er også den mulighed at du kan bruge en destructor

class account{
  private:
  xxxxx
  xxxxxx
  public:
  account(){}  // constructor, kaldes når et objekt oprettes
  ~account(){her kan du så ligge noget kode som feks lukker en fil eller database} // destructor, kaldes når et pbjekt skal nedlægges
}
Avatar billede tzr Nybegynder
29. december 2001 - 14:29 #2
ja det ved jeg ...
men hvis jeg nu laver:
unsigned int i;
eller: account i;

kan jeg så fjerne dem igen ?
lige som jeg kan bruge delete på en pointer hvor den så frigør hukommelsen, kan jeg så slette SELVE pointeren ?
Avatar billede jpk Nybegynder
29. december 2001 - 21:11 #3
Et objekt du opretter UDEN brug af new findes på processens stack, altså et stykke memory der tilhører processen. Objektet eksisterer indtil stacken \"unvindes\" så meget at det går ud af \"scope\".

Fx:
void func()
{
obj o;
{
  obj o2;
} // efter denne linie findes o2 ikke længere på stacken
} // efter denne linie findes o ikke længere på stacken

Hvis et objekt derimod oprettes med new-operatoren, ligger det på heap\'en og sakl explicit frigives med delete.

Avatar billede tzr Nybegynder
30. december 2001 - 01:36 #4
jpk << takker :)
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