ich hab ein C++ Buch aus dem ich Programme schreiben will um es zu lernen.
Das Buch ist von 1997, von Markt und Technik. Um mir die quälereien mit den Compilern zu erleichtern, benutze ich Linux Knoppix und Mandrake. Im Windows hat es nicht funktioniert mit den entsprechenden Programmen.
So, zurück. Jedenfalls kann anscheinend der Compiler im Linux die Proogramme nicht richtig compilieren. Ich schreib die Programme genau wie im Buch beschrieben und bekomme immer Fehler. In C-Programmierung funktioniert es ohne Fehler.
Zudem habe ich bei suche im Internet festgestellt, das es wohl im C++ mehere Schreibweisen für Befehle gibt?!
Bei mir im Buch steht cout als Bildschirmausgabe. Im Netz habe ich es Schon gesehen (…std::cout…, …iostream.h / iostream auch ohne h) usw.
Ich denke es ist eine Programmiersprache die festgelegt ist. Warum gibt es dann unterschiedliche versionen???
ich hab ein C++ Buch aus dem ich Programme schreiben will um
es zu lernen.
Das Buch ist von 1997, von Markt und Technik. Um mir die
quälereien mit den Compilern zu erleichtern, benutze ich Linux
Knoppix und Mandrake. Im Windows hat es nicht funktioniert mit
den entsprechenden Programmen.
„nicht funktioniert“ ist keine Fehlerbeschreibung.
So, zurück. Jedenfalls kann anscheinend der Compiler im Linux
die Proogramme nicht richtig compilieren. Ich schreib die
Programme genau wie im Buch beschrieben und bekomme immer
Fehler. In C-Programmierung funktioniert es ohne Fehler.
Zudem habe ich bei suche im Internet festgestellt, das es wohl
im C++ mehere Schreibweisen für Befehle gibt?!
Bei mir im Buch steht cout als Bildschirmausgabe. Im Netz habe
ich es Schon gesehen (…std::cout…, …iostream.h /
iostream auch ohne h) usw.
Das liegt daran, dass es eine Änderung mit den Include-Dateien gab.
Alt ist
include
cout
Die neuen Include-Dateien enden nicht mehr auf .h, und packen ihre Funktionen, Klassen und Objekte in eigene namespaces. Du kannst also
include
using namespace std;
cout
oder
include
using namespace std;
std:cout
schreiben.
> Ich denke es ist eine Programmiersprache die festgelegt ist.
> Warum gibt es dann unterschiedliche versionen???
Weil sich programmiersprachen, wie alles andere auch, weiterentwickeln. Wenn du ein Buch über den Autobau bei VW von vor zehn Jahren liest, kannst du auch nicht erwarten, dass noch jedes Detail heute so praktiziert wird.
Grüße,
Moritz
Zusätzlich zu dem bereits Gesagten trifft hier ältere Programmierweise auf neuere Software, z.B. den Compiler. Das bedeutet, wenn man das Buch verwenden will, entweder einen älteren Compiler installieren oder neuere Literatur anschaffen. Wie z.B. diese: http://www.highscore.de
Ich denke es ist eine Programmiersprache die festgelegt ist.
Warum gibt es dann unterschiedliche versionen???
Du musst zuerst einmal das Konzept hinter C/C++ verstehen.
Der Compiler selbst, kennt z.B. gar keine Ein/Ausgabefunctionen !
(In anderen Sprachen, z.B. in BASIC ist der Befehl PRINT fest im Interpreter/Compiler hinterlegt.)
C hat nur etwa 30 bis 40 Schlüsselworte und die Operatoren, C++ ist etwas umfangreicher.
Alles was man an Funktionen kennt ist in Bibliotheken abgelegt, welche wiederum selber in C/C++ geschrieben sind, wie z.B. auch printf().
Dadurch kann jeder sein eigenes printf() schreiben ohne den Sourcecode welcher es verwendet verändern zu müssen.
Damit nicht jeder das Rad immer wieder neu erfinden muss, hat man Standard-Bibliotheken definiert. Viele verwechseln aber diese Bibliotheken mit der Sprache selbst, was nicht ganz richtig ist.
Dadurch ist es aber auch möglich, dass sich die Bibliotheken, bzw. die Include-Dateien abändern lassen und somit Inkompatibilitäten zu älteren Sourcen ergeben ohne dass etwas am Compiler selbst verändert wird.