amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

amiga-news.de Forum > Programmierung > Wo werden die Elementvarablen eingerichtet? [ - Search - New posts - Register - Login - ]

-1- [ - Post reply - ]

2004-12-27, 15:25 h

Raudi
Posts: 79
User
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;
}

[ - Answer - Quote - Direct link - ]

2004-12-28, 01:40 h

Mazze
Posts: 263
User
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

[ - Answer - Quote - Direct link - ]

2004-12-29, 14:17 h

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

[ Dieser Beitrag wurde von Raudi am 29.12.2004 editiert. ]

[ - Answer - Quote - Direct link - ]


-1- [ - Post reply - ]


amiga-news.de Forum > Programmierung > Wo werden die Elementvarablen eingerichtet? [ - Search - New posts - Register - Login - ]


.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2025 by amiga-news.de - all rights reserved.
.