Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

C++

Module und Header-Dateien/include

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Lernen Sie die wichtige Variante, Funktionen in eigene Module zu packen, und sehen Sie die dazu nötigen Schritte. Sie bekommen Tipps vom Trainer.

Transkript

Ich möchte Ihnen jetzt mal zeigen, wie man mit unterschiedlichen Modulen arbeitet. Und da machen wir jetzt hier mal von Grund auf ein neues Projekt. "rdk_module" nenne ich das jetzt mal einfach. Und es wird auch wieder ein leeres Projekt. Man kann sich da auch mit diesen vorkompilierten Headern nachher ein bisschen helfen. Aber ich will es gerne mal so zeigen, wie man es von der Basis her macht. Also unser neues Programm soll erstmal "Hauptprog" heißen. Ganz schlicht, ein C++ Programm, das wird unser Hauptprogramm. Ich möchte jetzt aber mein Modul auslagern - in mein Modul -, also da wo ich die Unterprogramme reinschreibe, das macht oft Sinn, nicht alles in einem Riesen-Hauptprogramm unterzubringen, sondern das ein bisschen aufzuteilen. Und damit die Beiden sich nachher verstehen, damit man weiß, was das eine Programm mit dem anderen für Parameter hat, benötige ich eine sogenannte Headerdatei. Das ist jetzt das Geheimnis eigentlich dieser Module und ich nenne dieses Headerteil eigentlich genauso, wie das Modul, was es beinhaltet. Und zwar wird es jetzt hier eine Headerdatei. So, Punkt 'h'. Das Hauptprogramm, da kann man jetzt mal ganz normal anfangen, das kennen wir ja schon, und ich brauche natürlich hier ein 'main'. Machen wir hier nochmal... ganz konventionell, tippe ich das mal schnell ein. Da soll also unser Hauptprogramm sein. So und dieses Hauptprogramm soll jetzt ein Modul oder ein Unterprogramm aufrufen, aus dem 'meinmodul1.cpp'. Und damit es, wie gesagt, überhaupt funktioniert, muss man hier mit '#include' zum Beispiel hier 'meinmodul', genau diesen Namen des Headers angeben. Gut, so weit so gut, jetzt gehe ich mal hier rein. Hier oben, sieht man schön an den Reitern, habe ich die einzelne Module. Hier muss ich natürlich auch, wenn ich es brauche, 'cout', und so weiter, auch entsprechend den 'iostream' hier deklarieren. Man sollte dann auch natürlich sein eigenes Modul mit reinladen. Das ist aber jetzt noch eine ganz leere Datei. Also nicht wundern, da passiert noch gar nichts. Das '#Include' heißt, da hineinfügen. Es wird so, als ob man den Code hier reinschreibt. Wir brauchen das schon an zwei Stellen, nämlich hier im Hauptprogramm und in meinem Modul. Ja und hier mache ich jetzt die Implementierung. Das soll jetzt ein void-Aufruf sein, ganz was einfaches eigentlich. Aber vielleicht mit einem Parameter, damit es ein bisschen spannender ist auch für diese Deklarationsgeschichte. Und dieses Ding gibt dann einfach den Wert 'i' aus. Und von mir aus auch noch "i * i", und ein 'endline'. So sieht das schon ganz hübsch aus. So, prima, jetzt kann ich sagen, na gut, wir tun mal so, als ob wir dieses Header-Zeugs nicht kennen. Ich rufe das jetzt einfach mal hier vom Hauptprogramm aus auf. Ich klicke das jetzt mal hier an, und wir machen das so, wie wir es hatten, "aufruf(123)". So als ob ich das hier vorne hingeschrieben hätte. Nun haben wir das aber nicht da vorne hingeschrieben. Und ich starte das Ganze mal jetzt. Und schauen, was da passiert. Es gibt hier natürlich einen Fehler, weil er sagt, wir schauen gleich mal nach, wo die Beschreibung für diesen Fehler ist. Ich hab das Fenster hier nicht besonders groß, ich schiebe das mal bisschen rauf. Aufruf-Bezeichner wurde nicht gefunden. Nun das ist ganz klar. Das Hauptprogramm kennt nichts von einem Aufruf, hat keine Ahnung, wie dieser Aufruf überhaupt zu handeln ist, was für Parameter da reingehen. Und damit es funktioniert, muss man jetzt folgendes machen. Ähnlich wie bei einer Vorwärtsdeklaration, nehme ich hier diesen Kopf, schreib den hier einfach rein mit einem Strichpunkt. Das ist das Geheimnis des Headers. Im Header steht jetzt praktisch nur der Kopf, wie eine Vorwärtsdeklaration. Hier schadet es ja nicht, und hier weiß das Hauptprogramm, wie man 'aufruf()' aufruft. Nun starten wir das Ganze mal, sollte jetzt funkionieren und jetzt kriege ich dann auch hier den Wert und die Quadratzahl ausgegeben. Das ist eigentlich das Geheimnis von der ganzen Geschichte. Man muss noch ein bisschen aufpassen, man kann noch ein bisschen tricksen bei diesen Headerdateien, dass man sie nicht mehr als einmal aufruft. Könnte man mit einem 'ifdef', das machen. Das sehen Sie aber später, wie man das verhindert, dass sie zweimal aufgerufen werden. Das kann nämlich ganz schnell passieren, wenn man mehrere Header hat, dass man da mit Übersicht ein bisschen übersieht. Und das es dann zu Konflikten kommt, ich wollt's hier nur erwähnen. Da gibt's noch ein paar Tricks, aber prinzipiell kommt man so schon mal durch. Es empfiehlt sich dann auch hier in den Kommentaren hier, "meinmodul" oder irgendwas hinzuschreiben, damit man weiß, was für ein Header das überhaupt ist, was für Eigenschaften der hat, wozu man den braucht. Man kann hier auch die Eigenschaft von Aufruf beschreiben, wenn man möchte. Der Trick ist, dass man das jetzt gar nicht mehr sehen muss, sondern der Header reicht jetzt, Den kann ich jetzt in verschiedensten Programmmodulen ja auch wiederum verwenden, und dann diesen Aufruf einfach damit tätigen. Also sehen Sie, wie man Module erstellt, unterschiedliche C-Module. Es wird alles zusammen gebunden, gelinkt. Das macht die Umgebung des Visual C++ in dem Fall. Bei anderen Compilern muss man das dann entsprechend angeben, welche Teile gelinkt werden und die einzeln übersetzen unter Umständen, und dann zusammenbinden. Da gibt es immer wieder unterschiedliche Möglichkeiten, solche visuellen Umgebungen, die verschiedene Betriebssysteme auch anbieten, machen das eigentlich immer automatisch, wenn man hier die Quellen angibt, dann wird das alles richtig zusammengebaut. Zu einem funktionsfähigen, ausführbaren Programm.

C++

Machen Sie sich mit den einfachen Grundlagen zu C++ vertraut und lernen Sie anhand zahlreicher Übungs- und Codebeispiele die Klassenkonzepte, Prozeduren und Funktionen kennen.

9 Std. 3 min (143 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Video-Training auf DVD mit Bonusmagazin

+ Tutorial to go: Mit Videos für iPod, iPhone & Co.

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!