C++

struct

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Der Trainer stellt Ihnen den ersten komplexen Datentyp vor. Lernen Sie die Bedeutung und Verwendung von structs kennen.

Transkript

Ich möchte Ihnen jetzt mal zeigen, wie man dann Strukturen aufbauen kann. Das geschieht mit der struct-Anweisung. Ich habe das hier schon ein bisschen vorbereitet. Zunächst mal wollen wir hier noch mit include strings Stings dann verwenden, und das ist die eigentliche struct-Anweisung. Die beginnt mit dem Schlüsselwort struct, dann kann man hier einen beliebigen namen angeben. Ich mache das immer gerne mit einem anderen [], das später weist, dasd es eine Datenstruktur ist, und in geschweiften Klammern schreibt man dann die Strukturelemente rein. Diese Struktur soll jetzt hier bestehen aus einem int (Integer) , einem playerid - einem spielerid. Es ist ja jetzt hier einfach ein Beispiel, wie zum Beispiel Computerspiel verwendet werden könnte, den Namen des Spielers als String - spielername string und ein long vielleicht für seine Highscore. Und hier hinten definiere ich mir dann ein Feld mit 8 Elementen von dieser Datenstruktur. Im Hauptprogramm kann ich das jetzt direkt verwenden, ich kann im Hauptprogramm aber auch nochmal eine neue Struktur mit player_str zum Beispiel definieren. Übrigens in C muss man hier davor noch das Schlüsselwort struct schreiben, bei C++ braucht man das nicht, bei Objektive-C muss man das wieder machen, weil das ein bisschen andere Syntax ist, wenn man also auf Macintosh zum Beispiel programmieren möchte. Aber bei C++, wenn man eine C++ Datei hat, das ist überall einheitlich, schreibe ich hier nur einfach player_str dahin, das ist praktisch hier die Definition der Variablen myplayer, und die initialsiere ich hier auch gleich nämlich mit dem Wert 1 für den playerid, Meier für den Namen als String und 0 für die Hisghscore. So kann man das hier angeben ähnlich wie bei Arrays, mit dem man auch hier in geschweiften Klammern die ganzen Werte angeben kann, kann ich das natürlich für Datenstrukturen auch machen. Ich kann hier, allespielerist hier auch eine Variable, die ich schon definiert habe, also ein Feld von diesen Strukturen, kann ich auch hier direkt zuweisen, zum Beispiel allespieler von 2 spielername, da gebe ich das so an, das ist wichtig hier, wenn man hier Punkt (.) eingibt, ich zeige Ihnen das mal kurz, bekommt man hier, bei Visual C++ zumindest automatisch einen Vorschlag für den Rest spielername, playerid oder highscore. und das kann man dann ergänzen oder das von Hand eingeben, kann ich zuweisen, ich habe natürlich nicht alles definiert, aber man muss bisschen aufpassen, das sollte man natürlich dann immer gleich konsequent machen, die anderen Werte sind undefiniert. Das ist ganz wichtig, also wenn man es jetzt vollständig machen will, schreibe ich jetzt playerid von mir aus gleich 1 rein, und allespieler.highscore, na ja, gut kriege ich vielleicht einen Bonus, kann ich mit Type hier auch ergänzen von 10 Highscore-Punkten. So, damit ist es eigentlich definiert. Jetzt habe ich auch hier unten noch ein Beispiel. Man kann natürlich auch einen Pointer auf so einer Datenstruktur definieren und die dann einfach zuweisen. Das geschieht dann hier unten. Da was, man die auch machen kann, ist, zum Beispiel, direkt auf die Variablen zu greifen und dann ganz gewohnt arbeiten sowas es auf normale Variable wäre, also myplayer ist jetzt hier unsere Struktvariable, aber eben eine komplexe Variable, die besteht eben aus mehreren Komponenten, muss ich jetzt also hier unten .highscore zum Beispiel eingeben, da kann ich ++ machen, um den Highscore, der jetzt 0 hat, auf 1 zu erhöhen. Die Variable mptr, die habe ich hier, und weise hier die Adresse von der Datenstruktur myplayer zu. Kann man natürlich auch alle Spieler zuweisen. und so weiter, was man da haben möchte Jetzt geben wir das Ganze mal aus. myplayer.spielername ist hier oben definiert, das sollte dann Meier sein, highscore, und mehr habe ich jetzt hier nicht ausgegeben, den id könnte man natürlich auch noch ausgeben, wenn man das möchte, kann ich hier gerade mal machen vielleicht mit myplayer. playerid, der zeigt das auch gleich, ich notiere noch ein Leerzeichen dahinter. So, jetzt habe ich das alles, und bei allespieler gebe ich den Spielernamen jetzt zum Beispiel aus. Da kann man jetzt natürlich was anders machen. Hier kann ich eine neue Zuweise noch machen, das wieder ausgeben, da starten wir jetzt mal, schauen uns jetzt das ganze an, starten ohne Debug, und dann habe ich hier 1 Meier 1. Na ja, gut! Der highscore ist 1, der playerid ist jetzt auch 1 bei Meier, Hans, NEUMaier, muss ich ja auch nochmal auch gucken, stimmt das tatsächlich, hier oben habe ich 1 eingegeben. Es ist richig, wenn ich jetzt mal 3 eingebe, mache mal das gerade, schauen, ob sich das entsprechend ändert, Da muss ich hier 3 Meier 1 für den Highscore, den wir erhöht haben, Hans, das ist der Spielername, den wir jenes Feld zugewiesen haben, und wir haben dieses einmal die Variable geändert auf NEUMaier, indem ich hier das entsprechend zugewiesen habe. Was ich jetzt hier auch machen kann, kann hier über den Pointer, nämlich die Zuweisung, der weist jetzt aber bei dem mptr auf myplayer zeigt, automatisch den myplayer den Wert zu, ich kann also statt diesen Pointer hier auszugeben, auch myplayer.spielername, ich kann es einfach hier mal kopieren, das ist vielleicht besser da unter hinstellen, nochmal starten, und sehen Sie nämlich auch, dass es jetzt wirklich identisch ist, dass ich jetzt auf die gleichen Speicherzellen zugreife, 3 NEUMaier1, da habe ich einfach den Namen jetzt geändert. Und Hans, das haben wir hier oben eher zugewiesen, den Spielernamen. Den playerid und highscore haben wir irgenwo ausgegeben. Das können Sie hier gerne mal selber ausprobieren so als kleine Aufgabe.

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!