Ich finde das ganze viel zu sehr wie ein Kochrezept abgehandelt und ich stelle mir eigentlich folgende Fragen:
1) Wenn ich kein C++ könnte - könnte ich jetzt einen Taschenrechner Programmieren, wie du es gesagt hast (wahrscheinlich nicht, da Kontrollstrukturen wie if und switch überhaupt nicht behandelt wurden)
2) Hätte ich ein Verständis dafür, wieso ich jetzt schreibe, was ich schreibe? (Wieso darf ich beispielsweise cout << vari << endl; schreiben - wo liegen da die Grenzen)
3) Was sind Datentypen? Welche besitzt C++?
4) Wieso inkludiere ich iostream? Wozu ist das?
Zitat:
Am Anfang einer C++ Datei müsst ihr einen Header includieren.
Man muss nicht - Header können theoretisch an fast jeder Stelle im Programm eingebunden werden.
Bei den Standardheadern funktioniert das zumeist nicht, da diese auch Funktionen deklarieren und in C++ keine genesteten Funktionsdeklarationen erlaubt sind, jedoch ist es durchaus valid ein #include in einer Funktion zu schreiben
Auch dieser Code ist korrekt:
#include "main.h"
{
return 0;
}
wenn main.h wie folgt aussieht:
int main(void)
Zitat:
Die main Funktion sieht so aus:
=>
#include <iostream>
int main()
{
};
<=
Nach Funktionsblöcken kommt kein Semikolon; C++ tolleriert das nur, weil es als leere Anweisung angesehen wird - dies ist jedoch weder Konvention, noch notwendig.
Zitat:
=>
#include <iostream>
int main()
{
cout << "Hallo Welt!";
};
<=
Das dürfte im Grunde gar nicht compilieren, da cout im Namensbereich std ist und du diesen nicht "benutzt".
Zitat:
Wir behandelt zuerst die integer Variable, darin werden Ganzzahlen gespeichert. Im Prinzip stellt ihr nur einen beliebigen Text als eine Zahl dar. Um eine Variable zu erstellen müsst ihr zunächst "int" (ohne "") schreiben, dann folgt der Name eurer Variable, den ihr euch frei überlegen könnt (in meinem Beispiel heisst die Variable einfach mal "egal"). Danach ein = Zeichen und die Zahl die in der Variable abgespeichert werden soll.
Das klingt fast so, als müsste man das immer so machen, wenn man eine Variable deklariert.
Dem ist aber nicht so; Variablen können verschiedene Datentypen besitzen - int ist nur einer davon.
Auch die direkt folgende Initialisierung ist optional.
Zitat:
=>
#inlcude <iostream>
int main()
{
int vari=1;
while(vari<11)
{
cout << vari << endl;
vari=vari+1;
};
cin.get();
};
Auch hier ist das Semikolon hinter dem Block für while unnötig.
Wichtig wäre hier auch gewesen überhaupt erstmal von Wahrheitswerten zu sprechen, da while ja im Grunde nichts anderes tut als solche zu überprüfen.
Zitat:
Die Zeile vari=vari+1 kann man durch "vari++" abkürzen (hat den selben Effekt, vari um 1 zu erhöhen).
Der Effekt ist gleich, die Vorgehensweise ist verschieden.
Korrekter Weise müsste man sagen 'vari = vari + 1' entspricht '++vari' und nicht 'vari++'.
Wer es mir nicht glaubt, der betrachte folgendes Programm:
(ich gebe zu - obiges ist jetzt wirklich kleinlich und ist mehr als Ergänzung als Kritik gemeint)
Zitat:
Die for-Schleife beginnt mit "for" (welche Überraschung) und in Klammern folgen zunächst eine Variable, der ein Wert zugewiesen wird, dann ein Semikolon, dann die Schleifenbedingung, ein weiteres Semikolon und ein erhöhen der Variable (im oberen Beispiel vari++).
Auch das klingt wieder furchtbar statisch und invariabel. For besteht zunächst erstmal aus drei Teilen:
Initialisierung, Bedingung und Reinitialisierung
Was in diesen Abschnitten steht ist im Grunde völlig egal (mit der einzigen Einschränkung, dass die Bedingung irgendwie als Wahrheitswert interpretiert werden kann - ein leerer Ausdruck gilt auch als wahr)
Auch folgende Struktur ist korrekt:
for(;;);
Was macht's? Eine Endlosschleife ohne Inhalt.
Auch das ist korrekt:
for(i = 1, j = 2, k = 3; i < 10; i++, j++, k++);
___________________________
und bitte, bitte, bitte sagt jetzt nicht, als Anfänger müsste man das nicht so genau wissen - hat man einmal etwas falsch beigebracht bekommen ist es oft verdammt schwer sich das wieder abzugewöhnen - also entweder man lernt C++ von Anfang an richtig - oder eben gar nicht.
Sowas wird dann besonders wichtig, wenn man Konzepte wie Zeiger und C-Strings einführt, wobei ich persönlich glaube nur wenige von denen, die mit C++ anfangen haben Zeiger und die darauf aufbauende Arithmetik wirklich verstanden.