008
27.08.2004, 20:42 Uhr
Pablo
Supertux (Operator)
|
deklariert eine Struktur namens B. Eine Struktur ist wie eine Klasse.
C++: |
struct A { B &b; A(B&); };
|
deklarier eine Struktur namens A, die eine Referenz Variable b (siehe am & Operator) vom Typ B hat, und die eine Funktion hat, die A heißt (wie ein Konstruktor), deren Argument eine Referenz auf ein B Objekt sein soll.
definiert die Struktur. In diesem Beispiel, ist sie leer, keine Funktionen und Variablen sind enthalten.
C++: |
A::A(B &b) : b(b) { }
|
definition der Funktion A(B&) der Struktur A.
Wenn andere Dateien über die Klasse verfügen, reicht es, dass diese Dateien nur die Prototypen der Klassen bekmmen, und dafür sind die header Dateien und dafür ist #include da.
Zitat: |
wenn man nicht die include-funktion verwenden möchte
|
include ist keine Funktion, sonderne in Preprozesor.
Zitat: |
Die kürzeste Form der Einbindung einer Klasse in eine andere Quelldatei besteht wohl in der Aufnahme des kompletten Prototyps der Klasse in die andere Quelldatei!
|
Warum willst du #include nicht benutzen? Wenn du die Prototypen kopierst, könnte es sein, dass du nachher Fehler wegen Doppeldeklaraion bekommst. Siehe beefy's Beispiel mit den Guards, das ist besser so. -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! Dieser Post wurde am 27.08.2004 um 20:42 Uhr von Pablo editiert. |