amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > Wo werden die Elementvarablen eingerichtet? [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

27.12.2004, 15:25 Uhr

Raudi
Posts: 79
Nutzer
Hi,

ich habe mir ein Buch gekauft um C++ zu lernen. Nun bin ich auf eine Sache gestoßen die ich nicht verstehe.

Wo werden die Elementvariablen einer Klasse eingerichtet, wenn ich
das Objekt auf dem Heap einrichte und die Adresse einem Zeiger zuweise?

Befinden sich die Elementvariablen auf dem Stack oder auf dem heap?

Bsp.:

class Myclass
{

int itsVar1;
int itsVar2;
}

int main()
{

Myclass *theClass = new Myclass;
}

[ - Antworten - Zitieren - Direktlink - ]

28.12.2004, 01:40 Uhr

Mazze
Posts: 263
Nutzer
Es ist länger her, dass ich mich mit C++ befasst habe. IIRC arbeitet der new-Operator wie die malloc-Funktion und eine Klasse ist ein struct, bei dem alle Elemente standardmäßig privat sind.

D.h. der new-Operator liefert die Anfangsadresse eines Speicherbereichs zurück, der auf dem Heap liegt. Die Elementvariablen werden nacheinander in diesem Bereich abgelegt. (Unter Beachtung des Alignments)

Allerdings kann der new-Operator überladen werden und es können Konstruktoren für die Element-Variablen definiert werden. Damit kann ein völlig anderes Verhalten implementiert werden

[ - Antworten - Zitieren - Direktlink - ]

29.12.2004, 14:17 Uhr

Raudi
Posts: 79
Nutzer
Danke, für die Hilfe :)

[ Dieser Beitrag wurde von Raudi am 29.12.2004 editiert. ]

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > Wo werden die Elementvarablen eingerichtet? [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.