PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Heap Pointer übergeben



Mat
13-11-2005, 23:56
Hallo, sorry für so ne newbi frage aber.... ich habe im konstruktor einer KLasse eine zweite KLasse auf dem Heap liegen. Jetzt bräuchte ich in einer anderen Methode der ersten Klasse nochmals auf genau dieses auf dem Heap-liegende Objekt zugreifen. Aber leider kann ich im Headerfile nicht den Pointer global verfügbaer machen weil sonst sagt er syntaxfehler before * token. Aber ich kann nicht inkludieren die KLasse weil er dann in der auf dem heap liegenden klasse sagt syntaxfehler before * token....
Im Moment habe ich halt in der cpp datei einen globalen Pointer liegen mit dem dann alles funktioniert.
Warum das mit der header datei nicht klappt verstehe ich nicht...


Bitte um Nachsicht dass ich mit solchen kleinigkeiten probleme habe ....

anda_skoa
14-11-2005, 10:18
class Klasse2; // sogeannte Forward Declaration, d.h. Typ bekannt machen

class Klasse1
{
public:
Klasse1();
~Klasse1();

void foo();

private:
Klasse2* m_k2; // Hier muß wegen Pointer nur der Typ Klasse2 bekannt sein
};




// volle Deklaration von Klasse2
#include "klasse2.h"

Klasse1::Klasse1()
{
m_k2 = new Klasse2();
}

Klasse1::~Klasse1()
{
delete m_k2;
}

void Klasse1::foo()
{
m_k2->bar();
}


Ciao,
_