Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Zitat
Ich habe schon dieses Buch durchgearbeitet und verstanden:
http://www.amazon.de/exec/obidos/ASIN/3898426491/qid=1145718253/sr=1-13/ref=sr_1_2_13/303-5578792-2441845
Administrator
Zitat von »"F-Wölkchen"«
Ich habe schon dieses Buch durchgearbeitet und verstanden
Zitat
Zwischen verstehen und anwenden können besteht ein himmelweiter Unterschied.
Nur durch das Lesen kommt man hier nicht weiter. Man muss selbst herumexperimentieren, um die nötige Erfahrung zu sammeln. Und das geht nicht von heute auf morgen.
Zitat
In der Rezension zu diesem Buch steht, dass dort auch Klassen, Templates uund Vererbung drankommen.
Anonymous
unregistriert
Zitat von »"F-Wölkchen"«
Ich kenne schon viele programmiersprachen (z.B. Java, Flash, PHP, (HTML), C++ ein bisschen)!
Zitat von »"F-Wölkchen"«
Jetzt wollte ich mal wissen wie man ein 3d Spiel Programmiert!
Was braucht man dafür?
Zitat von »"F-Wölkchen"«
Reicht das wenn man so die Grundkenntnisse kann wie:
-for und while schleife
-if bedingungen
-dateien löschen/speichern und bearbeiten
-Textausgeben ( )
-Funktionen
-Variablen (int,string,char usw..)+ globale Variablen
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
Kontrollstrukturen - Schleifen, If, Rückgabeparameter, break, continue etc. Datentypen - Standardtypen - Struct / Union - Pointer - call by Value - call by Refference - const - Funktionszeiger - Arrays und Strings - Deklaration - Speicheraufbau - Heap - Stack - Zugriff - Pointerarithmetik - Mehrdimensonale Arrays - Dynamic/Static Typed - Strongly Typed - Cast Funktionen - Aufbau der Funktion (Prototyp) - Definition - Function Call - Deklaration - Rekursion - Iteration - Scope, Life Time, Linkage - Orthogonalität zweier Features - Verdeckung - Default Argumente - Funktion Overloading - inline Funktion - Funktion richtig dokumentieren - spezielle Funktionen (main, exit) - Librarys Klassen/Objekte - Definition - Deklaration - Aufruf - privat / public / protected - Terminologie - Komposition / Assoziation - Konstruktor - Copy Konstruktor - Destruktor - Initialisierungsliste - Header + Source - Zuweisungsoperator - Deklaration - Definition - Shallow Copy / Deep Copy - this Zeiger - memcpy(); - expricite / static - New / Delete - Gang of three - Funktoren - Operatoren - Präfix / Postfix / Unär / Binär Vererbung - Syntax - nicht vererbte Methoden (gang of three) - Initialiserung - Konstruktorenreihenfolge - Destruktorenreihenfolge - Copy Konstruktor - Zuweisungsoperator - Upcasting - Redifinition / Overriding - Überschreiben von Funktionen - Überladen von Funktionen - Verbergen von Funktionen - virtuelle Methoden - slicing Polymorphie - RTTI [dynamic_cast<Typ*>(Quelle) ] - Mehrfachvererbung - Mehrdeutigkeit - virtual - Abstrakte Funktionen (ADT) - Implementierung |
Administrator
Zitat von »"F-Wölkchen"«
Ich hatte erst vor ein paar tagen mit C++ angefangen!
Zitat von »"F-Wölkchen"«
Ich weiß! Aber Anwenden kann ich es ja!
Zitat von »"F-Wölkchen"«
Vielleicht kann mir ja einer von euch sagen was Klassen sind?
Zitat von »"F-Wölkchen"«
Ich kenne schon viele programmiersprachen (z.B. Java, Flash, PHP, (HTML), C++ ein bisschen)!
Zitat von »"F-Wölkchen"«
Das mit den Klassen habe ich nicht so verstanden !
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
class Auto { // Die Attribute float Geschwindigkeit; float Breite; float Laenge; // Die Methoden, also was unser Auto kann. void gibGas(float); void haltAn(); float getBreite(); ... }; // Jetzt muss man für die Methoden noch festlegen was sie machen. void Auto::gibGas(float speed){ Geschwindigkeit = Geschwindikeit + speed; // <-- hier wird auf ein Attribut des Objektes zugegriffen } float Auto::getBreite(){ return Breite; // <-- hier gleich nochmal } void Auto::haltAn(){ Geschwindigkeit = 0; } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
void main(){ Auto Flitzer1 = new Auto; // <-- hier wird aus der Klasse ein Objekt erstellt. Auto Flitzer2 = new Auto; // <-- hier noch ein zweites. // Nun lasse ich meine Autos fahren. Flitzer1.gibGas(50); // Wer gewinnt wohl? :-) Flitzer2.gibGas(150); Flitzer1.haltAn(); Flitzer2.haltAn(); // Achtung, was so einfach nicht geht ist. Auto.haltAn(); // <-- Denn welches Auto ist jetzt gemeint? Beide? // Es gibt natürlich einen Weg dies über Klassenmethoden zu machen. Wäre doch prima wenn man alle Autos gleichzeitig anhalten lassen könnte. Viel Spaß beim Herausfinden. :D } |
Werbeanzeige