C++

Aus QED-WIKI - Ein Berliner Mathe-WIKI von und für Schülerinnen und Schüler
Wechseln zu: Navigation, Suche

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, in welchen der Quelltext geschrieben wird und welche das kompilieren und linken übernehmen.

Erste Schritte

Eine einfache Konsolenanwendung, die "Hello Welt!" ausgibt:

#include <iostream>
int main() 
{
    std::cout << "Hello 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;
}

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;
}