Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

C++ Grundkurs

Vorwärtsdeklarationen

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
C++ ermöglicht die Verwendung einer vorwärts deklarierten Klasse, ohne dabei das Vorliegen der Klassendefinition einzufordern.
02:05

Transkript

In dieser Lektion möchte ich Ihnen Vorwärtsdeklarationen in C++ vorstellen. Eine Klasse kann deklariert werden, ohne ihre Definition anzugeben. Das heißt, zu diesem Zeitpunkt ist nur der Name der Klasse bekannt. Der Compiler wird durch die Vorwärtsdeklaration informiert, dass deren Definition noch folgt. Ein klassisches Beispiel sehen Sie hier. Ich habe eine Klasse Bank, die hält ein Objekt vom Typ Account. Ich habe eine Klasse Account die hält ein Objekt vom Typ Bank und jetzt habe ich eine wechselseitige Abhängigkeit. Damit das funktioniert, muss Bank z.B. Account kennen. Das mache ich hier durch die Vorwärtsdeklaration. Genauso gut hätte ich es andersherum machen können. Das Entscheidende ist, dass der durch die Vorwärtsdeklaration erklärte Name sich nur dann verwenden lässt, wenn das Speicherlayout des Typs nicht bekannt sein muss. Was heißt das? In diesem Fall verwende ich einen Zeiger. Ich hätte genauso gut eine Referenz verwenden können. Wenn ich einen Zeiger oder eine Referenz verwende, muss das Speicherlayout des Typs nicht bekannt sein. Wenn ich hingegen hier einen Typ verwenden würde Account account, muss das Speicherlayout bekannt sein und der Compiler würde dies mit einer Fehlermeldung incomplete time monieren. Das zeige ich gleich in der Anwendung. Hier habe ich die Klasse Account, genauso wie gerade eben verwendet. Account hält einen Zeiger auf Bank. Bank hält einen Zeiger auf Account. Wenn ich das übersetze, sehen Sie, das geht gut. Jetzt kommentiere ich BadAccount ein und BadBank. Der Unterschied ist, Sie sehen hier, hier greife ich direkt auf Account zu und habe keine Indirektion wie einen Zeiger oder eine Referenz. Wenn ich das übersetze, bekomme ich eine Fehlermeldung, dass Account ein incomplete Type ist. Zeile 18 genau hier an dieser Stelle. Das könnte ich jetzt einfach richten, indem ich das hier zum Zeiger mache und schon funktioniert es wieder. In dieser Lektion habe ich Ihnen Vorwärtsdeklarationen in C++ vorgestellt. Vorwärtsdeklarationen benötigen Sie dann, wenn Sie zwei Klassen haben, die sich gegenseitig referenzieren.

C++ Grundkurs

Steigen Sie in die mächtige Programmiersprache C++ ein und lernen Sie dabei alle wichtigen Funktionen mit Anwendungsbeispielen kennen.

8 Std. 14 min (147 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!