C++
Auf dieser Seite wird grundlegendes zu den Programmiersprachen C, vorallem aber zu C++ erscheinen.
Inhaltsverzeichnis |
Vorab
C++ ist eine von der ISO genormte Programmiersprache. Sie wurde ab 1979 von Bjarne Stroustrup bei AT&T als Erweiterung der Programmiersprache C entwickelt. C++ ermöglicht sowohl die effiziente und maschinennahe Programmierung als auch eine Programmierung auf hohem Abstraktionsniveau. (Wikipedia)
C++ ist abwärtskompatibel, d.h., die Syntax erlaubt sämtlichen C-Code. C und C++ sind dabei auf nahezu allen Plattformen existent, es gibt unzählige in C bzw. C++ geschriebene Anwendungen und Funktionsbibliotheken.
Quelltext => Anwendung
Um aus C- oder C++-Quelltext Anwendungen zu erstellen werden im Groben zwei Programme benötigt:
- Der Compiler macht aus einer Quelltextdatei eine Objektdatei. Objektdateien bestehen grob aus Maschinencode und symbolischen Referenzen auf Daten und Funktionen.
- Der Linker macht aus (verschiedenen) Objektdateien eine ausführbare Datei, die Anwendung.
Compiler als auch Linker werden durch die Kommandozeile aufgerufen.
Da diese Art des Kompilierens von C/C++ mitunter sehr Nerven- und Zeitaufwändig sein kann, gibt es Entwicklungsumgebungen, wie z.B. Microsoft Visual Studio unter Windows (für C++), in welchen der Quelltext geschrieben wird und welche das kompilieren und linken übernehmen.
Erste Schritte
Eine einfache Konsolenanwendung, die "Hallo Welt!" ausgibt:
#include <iostream> int main() { std::cout << "Hallo Welt!\n"; }
bzw.:
#include <iostream> int main() { printf("Hallo Welt!\n"); }
Eine Konsolenanwendung, die einen Integer einliest und dessen Quadratzahl berechnet:
#include <iostream> int main() { int a; std::cin >> a; std::cout << (a*a) << endl; }
bzw.:
#include <iostream> int main() { int a; scanf("%d",a); printf("%d",(a*a)); }
Eine Methode erstellen
Das Programm soll wie im vorangegangenen Beispiel die Quadratzahl einer eingelesenen Zahl ausgeben:
#include <iostream> int sq(int n) { return a*a; } int main() { int a; std::cin >> a; std::cout << sq(a) << endl; }