#include
-
Wenn man in einer Klasse, eine andere Klasse benutzten wil, muss man ja die Header Datei includieren (#include).
Wo liegt der unterschied ob das #include einer Headerdatei, in der cpp oder headerdatei steht images/smiles/icon_confused.gif .
Und wann gehört sie in die cpp und wann in die header.
Kann mir das mal einer genau erklären, weil aus der MSDN findt ich eigentlich nix brauchbares was mir weiter hilft.
-
wenn du in deiner headerdatei schon eine variable dieser anderen klasse deklarieren willst (als nicht-pointer), dann muss der include in dei headerdatei.
wenn du nur eine lokale datei erstellst, so wie zb hier, dann reicht es, wenn du den header in der cpp-datei includierst. es ist aber nciht falsch, wenn du ihn in der headerdatei includierst.
wenn du allerdings zwei klassen hast (A & und beide brauchen sich gegenseitig, dann musst du ein wenig tricksen:
in klasse A ganz normal den header von B in den A-header includieren.
im B-header musst du vor die definition der klasse B eine vorwärtsdeklaration der klasse A machen:class A;
und die variable in B auf A als zeiger deklarieren.
in der cpp-datei der Klasse B wird dann der A-Header includiert und dort wird der variable auch erst speicher reserviert (m_AVar = new A; )hoffe, das war etwas verständlich [img]images/smiles/icon_smile.gif[/img]
[ Dieser Beitrag wurde am 14.02.2002 um 01:29 Uhr von dEUs editiert. ]
-
weiterführender Link zum Thema (in englischer Sprache): http://www.gotw.ca/gotw/007.htm