Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Schummelseite
Titelei
Inhaltsverzeichnis
Über die Autoren
Einführung
Sie benötigen keinerlei Erfahrung
Und auch die erste Wahl für erfahrene Leute!
Für alle Computer
Konventionen
Wie das Buch aufgebaut ist
Haufenweise Symbole
Wie geht es weiter?
Was danach kommt
Teil I Los geht’s mit C++
1 Ihr System einrichten
An C++ 14 gelangen
Sich Code::Blocks besorgen
Code::Blocks installieren
Mit Windows arbeiten
Mit Mac OS/X arbeiten
Eine Standardinstallation unter Linux
Die grafische Linux-Installation verwenden
Die wesentlichen Programmfunktionen von Code::Blocks kennenlernen
Code::Blocks zum ersten Mal starten
Die Beispielprojekte öffnen
Die wichtigsten Fenster
Das Fenster »Start here«
Andere Entwicklungsumgebungen verwenden
2 Die erste C++-Anwendung erstellen
Ein Projekt mit Code::Blocks erstellen
Was sind Projekte?
Das erste Projekt definieren
Die erste Anwendung erstellen und ausführen
Den Code eingeben
Mit »main« beginnen
Informationen anzeigen
Ein bisschen Rechnen
Die Ausgabe mit Tabulatoren versehen
Lassen Sie Ihre Anwendung laufen
3 Daten in C++ speichern
Ablageorte für Daten: Variablen
Eine Integervariable erstellen
Mehrere Variablen definieren
Werte ändern
Eine Variable mit einer anderen gleichsetzen
Eine Variable initialisieren
Vergeben Sie selbst großartige Namen
Mit Integervariablen rechnen
Mit Integervariablen addieren
Ganzzahlige Werte subtrahieren
Integervariablen multiplizieren
Integervariablen dividieren
Allgemeine Zeichen oder Characters
Das Null-Zeichen
Nicht druckbare und andere Zeichen
Zeichenfolgen (Strings)
Einen Teil eines Strings auslesen
Einen Teil eines Strings ändern
Einen String erweitern
Zwei Strings »addieren«
Zwischen bedingten Operatoren entscheiden
Mit Boole’schen Variablen die Wahrheit sagen
Die Konsole auslesen
4 Den Ablauf der Anwendung steuern
Dies oder jenes tun
Bedingungen in C++ auswerten
Den richtigen C++-Operator herausfinden
Mehrere Bedingungen kombinieren
Evaluierungen in bedingte C++-Anweisungen einbinden
Festlegen, was wäre wenn und was ansonsten wäre
Mit »if« und »else« eine Etage weiter gehen
Aktionen mit Anweisungen wiederholen
Schleifenbildung
for-Schleifen
»While«-Schleifen
Etwas tun, während …
Unterbrechen und fortfahren
Schleifen verschachteln
5 Ihr Werk mit Funktionen aufteilen
Teilen Sie Ihr Werk auf
Eine Funktion aufrufen
Eine Variable übergeben
Mehrere Variablen übergeben
Eigene Funktionen schreiben
Mehrere oder keine Parameter
Nichts zurückgeben
Lokale Variablen
Vorwärtsreferenzen und Funktionsprototyp
Zwei Versionen derselben Funktion schreiben
Funktionen für große Strings aufrufen
Was ist »main()«?
6 Quellcodedateien aufteilen
Mehrere Quellcodedateien erstellen
Ein Projekt in Code::Blocks in mehrere Quellcodedateien aufteilen
In Code::Blocks ein Projekt mit mehreren Dateien erstellen
Mehrere Quellcodedateien in anderen Compilern
Mehrere Dateien erstellen
Headerdateien gemeinsam nutzen
Den Header nur einmal hinzufügen
Spitze Klammern oder Anführungszeichen?
Variablen in mehreren Quellcodedateien nutzen
Die mysteriösen Header-Wrapper verwenden
7 Mit Zeigern auf die Daten verweisen
Variablen »anhäufen« und »stapeln«
Die Adresse einer Variablen erhalten
Eine Variable mithilfe eines Zeigers ändern
Auf einen String zeigen
Auf etwas anderes zeigen
Tipps für Zeigervariablen
Dynamisches Zuweisen mit »new«
»new« verwenden
Eine Initialisierungsanweisung verwenden
Ein neuer String
Zeiger freigeben
Zeigervariablen an Funktionen übergeben
Werte von Variablen mit Zeiger ändern
Stringparameter ändern
Zeigervariablen von Funktionen zurückerhalten
Einen Zeiger als Nicht-Zeiger zurückgeben
Per Referenz übergeben
Als konstante Referenz übergeben
An die Regeln denken
8 Mit Klassen arbeiten
Objekte und Klassen verstehen
Klassen und Objekte klassifizieren
Mitgliedsfunktionen und Memberdaten beschreiben
Eine Klasse implementieren
Den Code von Mitgliedsfunktionen aufteilen
Die Bestandteile einer Klasse
Mit einer Klasse arbeiten
Auf Mitglieder zugreifen
Klassen und Zeiger verwenden
Objekte an Funktionen übergeben
Konstante Parameter in Funktionen verwenden
Den Zeiger »this« verwenden
Mitgliedsfunktionen überladen
Mit Konstruktoren und Destruktoren anfangen und aufhören
Mit Konstruktoren starten
Etwas mit Destruktoren beenden
Beispiele für Konstruktoren und Destruktoren
Den Konstruktoren Parameter hinzufügen
Klassenhierarchien bilden
Eine Hierarchie in C++ erstellen
Vererbungstypen verstehen
Aliasse von Objekten erstellen und verwenden
9 Erweiterte C++-Funktionen nutzen
Den Code mit Kommentaren ergänzen
Typen umwandeln
Aus der Konsole lesen
Die Direktiven eines Präprozessors verstehen
Konstanten verwenden
»switch«-Anweisungen verwenden
Aufzählungen mit Klassen überladen
Mit Zufallszahlen arbeiten
Daten in Arrays speichern
Ein Array aus Zeigern
Arrays an Funktionen übergeben
Zeiger addieren und subtrahieren
Teil II Objekte und Klassen verstehen
10 Objekte planen und erstellen
Objekte erkennen
Die Klasse »Briefkaesten« beobachten
Die Klasse »Briefkasten« beobachten
Andere Objekte finden
Objekte kapseln
Hierarchien aufbauen
Eine Bibliothek einrichten
Mitglieder bei Vererbung schützen
Mitgliedsfunktionen überschreiben
Spezialisierung durch Polymorphie
Dinge abstrakt sehen
Klassen entdecken
Software entwickeln
Diese nervenden Klassen finden
11 Mit Entwurfsmustern entwickeln
Eine Einführung in einfache Muster: das Singleton
Eine Instanz mit einem Beobachter überwachen
Einen Beobachter automatisch hinzufügen
Mit einem Muster vermitteln
Teil III Fortgeschrittene Programmierung
12 Mit Arrays, Zeigern und Referenzen arbeiten
Arrays verstehen
Arrays definieren
Arrays und Zeiger
Mehrdimensionale Arrays einsetzen
Mehrdimensionale Arrays initialisieren
Mehrdimensionale Arrays übergeben
Arrays und Befehlszeilenparameter
Ein Array auf dem Heap anlegen
Arrays aus Zeigern und Arrays aus Arrays speichern
Konstante Arrays erstellen
Mit Zeigern zeigen
Immer diese furchtbare Komplexität
Zeiger auf Funktionen
Eine Variable auf eine Mitgliedsfunktion zeigen lassen
Auf statische Mitgliedsfunktionen zeigen
Auf Referenzen referenzieren
Variablen referenzieren
Eine Referenz aus einer Funktion zurückgeben
13 Datenstrukturen erstellen
Mit Daten arbeiten
Variablen, Variablen und noch mehr Variablen
Variablen auf beiden Seiten der Macht
Ihre Daten verzaubern
Strukturieren Sie Ihre Daten
Strukturen als Komponenten-Datentypen
Strukturen gleichsetzen
Strukturtypen zurückgeben
Geben Sie Ihrem Raum einen Namen
Variablen und Teile eines Namensraums verwenden
14 Konstruktoren, Destruktoren und Exceptions
Objekte mit Konstruktor und Destruktor erschaffen und zerstören
Konstruktoren überladen
Mitglieder initialisieren
Einen Standardkonstruktor hinzufügen
Funktionskonstruktoren
Einen Konstruktor von einem anderen aus aufrufen
Instanzen mithilfe von Copy-Konstruktoren kopieren
Wenn Konstruktoren Ärger machen: Fehlerhafte Konstruktoren
Instanzen zerstören
Destruktoren virtuell erben
Die Ausnahme von der Regel
Direkte Instanzen werfen
Beliebige Exceptions fangen
Eine Exception weiterwerfen
15 Fortgeschrittene Klassen-Techniken
Schöner erben
Verwandeln Sie Ihre Vererbung
Die Zugriffsregeln anpassen
Geben Sie doch mal etwas anderes zurück
Mehrfachvererbung
Virtuelle Vererbung
Freundklassen und Freundfunktionen
Klassen und Typen in Klassen nutzen
Eine Klasse verschachteln
Typen innerhalb von Klassen
16 Klassen mit Templates erzeugen
Eine Klasse zum Template machen
Ein Template vom Code der Funktionen trennen
Statische Mitglieder in ein Template einsetzen
Ein Template parametrisieren
Verschiedene Parametertypen
Mehrere Parameter verwenden
Ein »typedef« für ein Template
Templates ableiten
Eine Klasse von einem Klassen-Template ableiten
Ein Klassen-Template von einer Klasse ableiten
Ein Klassen-Template von einem Klassen-Template ableiten
Ein Funktionstemplate erstellen
Funktionstemplates überladen
Eine Mitgliedsfunktion mit einem Template versehen
17 Mit der Standardbibliothek programmieren
Aufbau der Standardbibliothek
Container für Ihre Klassen
In einem Vektor abspeichern
Daten per »map« ablegen
Instanzen, Zeiger oder Referenzen im Container verwalten
Instanzen vergleichen
Durch einen Container iterieren
Viele kleine Pärchen
Das große Container-Finale
Mit einem »set« zuweisen und speichern
Mit »set« Vereinigungs- und Schnittmengen bilden
Eine Liste mit »list«
Stapeln Sie auf der Deque
Mit Stacks und Queues schön in einer Reihe warten
Container kopieren
Dynamische Arrays erzeugen und einsetzen
Die IDE konfigurieren
Ein dynamisches Array deklarieren
Mit ungeordneten Daten arbeiten
Mit »std::unordered_set« ein ungeordnetes Set erstellen
Ungeordnete Sets bearbeiten
18 Mit Lambda-Ausdrücken arbeiten
Besser lesbaren und prägnanteren C++-Code schreiben
Einen einfachen Lambda-Ausdruck definieren
Die Teile eines Lambda-Ausdrucks definieren
Den Compiler den Rückgabewert ermitteln lassen
Einen bestimmten Rückgabetyp verwenden
Das Schlüsselwort »auto« verwenden
Anwendungen mit Lambda-Ausdrücken entwickeln
Lambda-Ausdrücke mit mehreren Eingabeparametern erstellen
Mit der Capture-Klausel arbeiten
Daten mit einem Lambda-Ausdruck sortieren
Festlegen, dass der Lambda-Ausdruck Exceptions wirft
Teil IV Probleme beheben
19 Mit Bugs umgehen
Das ist kein Bug, das ist ein Feature
Die Features einer Anwendung wie Features aussehen lassen
Etwas (fast) vorhersehen
Kurz und bündig: Fehler vermeiden
20 Eine Anwendung debuggen
Mit Debuggern programmieren
Der Code::Blocks-Debugger im Überblick
Die Debuggingfenster des Code::Blocks-Debuggers
Mit anderen Werkzeug debuggen
Standarddebugger
Eine Code::Blocks-Anwendung mit Argumenten auf der Befehlszeile debuggen
21 Den Code anhalten und untersuchen
Haltepunkte für Fortgeschrittene
Haltepunkt in Code::Blocks setzen
Haltepunkte aktivieren und deaktivieren
Variablen beobachten, untersuchen und ändern
Variablen beobachten
Objekte beobachten
Werte ändern
22 Der Stack
Ihre Daten stapeln
Im Stack herumreisen
Lokale Variablen speichern
Mit weitergehenden Programmfunktionen debuggen
In Assemblercode einer Spur nachgehen
Teil V Dateien lesen und schreiben
23 Informationen mit der Bibliothek »Streams« ablegen
Warum Streams notwendig sind
Mit der Streams-Bibliothek programmieren
Die richtige Headerdatei erhalten
Eine Datei öffnen
Umgang mit Fehlern beim Öffnen einer Datei
Hissen Sie die ios-Flaggen
24 Mit Output-Streams schreiben
Mit dem <<-Operator einfügen
Formatieren Sie Ihre Ausgabe
Mit Flags formatieren
Die Präzision festlegen
Felder erstellen und ihre Breite setzen
25 Aus Input-Streams lesen
Mit Operatoren extrahieren
Mit dem Dateiende umgehen
Verschiedene Typen einlesen
Formatierte Eingabewerte einlesen
26 Mit Verzeichnissen und Dateien arbeiten
Mit Verzeichnissen arbeiten
Ein Verzeichnis erstellen
Ein Verzeichnis löschen
Den Inhalt eines Verzeichnisses ermitteln
Dateien kopieren
Dateien und Verzeichnisse verschieben und umbenennen
27 Streamen Sie Ihre eigenen Klassen
Eine Klasse als Text streamen
Einen Stream manipulieren
Was ist ein Manipulator?
Schreiben Sie Ihren eigenen Manipulator
Teil VI Anwendungen planen und entwerfen
28 Das Programm mit UML beschreiben
Zu UML aufsteigen
Mit UML modellieren
Mit UML schematisiert darstellen und entwerfen
Mit UML und dem Rational Unified Process entwickeln
Iterativ sprechen
Rein in die Phase, raus aus der Phase
Die Konzeptionsphase
Die Entwurfsphase
Die Konstruktionsphase
Die Übergabephase
Und weiter geht’s mit UML
29 Die Klasse mit UML strukturieren
Klassen zeichnen
Klassen mit UML abbilden
UML und Vererbung
Klassen aggregieren und zusammensetzen
Komponenten erstellen
Die Software verteilen
30 Mit UML ein Verhalten aufzeigen
Objekte zeichnen
Anwendungsfälle inspizieren
Anwendungsfälle erweitern
Anwendungsfälle und Anforderungen in Übereinstimmung bringen
Sequenzdiagramme
Sequenzdiagramme mit Anmerkungen versehen
Schleifen und Vergleiche in Sequenzdiagrammen
Kollaborationsdiagramme
Aktivitätsdiagramme
Zustandsdiagramme
31 Anwendungen mit UML modellieren
UML-Schmankerl
Symbole packen
Diagramme mit Anmerkungen versehen
Symbole kennzeichnen
Frei zu sein bedarf es wenig
C++ und UML
Aufzählungen zeichnen
Statische Mitglieder einbinden
Klassen über Templates mit Parametern versorgen
Teil VII Fortgeschrittenes C++
32 Eine Reise durch die Standardbibliothek
Kategorien der Standardbibliothek
Container
Iteratoren
Algorithmen
Funktoren
Utilities
Allokatoren
Polymorphe Allokatoren
Strings mit einem Hash parsen
Informationen über einen Iterator mit wahlfreiem Zugriff abrufen
Werte mit dem Find-Algorithmus ermitteln
Den Zufallszahlengenerator verwenden
Mit min und max arbeiten
33 Eigene Templates erstellen
Ein einfaches Mathematik-Template erstellen
Ein Struktur-Template erstellen
Ein Klassen-Template entwickeln
Template-Spezialisierung
Eine Bibliothek erstellen
Das Bibliotheksprojekt definieren
Das Bibliotheksprojekt konfigurieren
Schreiben Sie den Code für die Bibliothek
Setzen Sie Ihre Bibliothek ein
34 Boost erforschen
Boost verstehen
Features von Boost
Lizenzen
Bezahlter Support
Boost herunterladen und für Code::Blocks installieren
Packen Sie Boost aus
Setzen Sie die Header-Only-Bibliotheken ein
Bauen Sie die Bibliotheken
Testen Sie die Installation
Bauen Sie Ihre erste Boost-Anwendung mit DateTime
Die Boost-Tools erstellen
Boost.Build einsetzen
Einen erfolgreichen Build durchführen
Die Beispiele einsetzen
Regression verwenden
Inspect einsetzen
BoostBook verstehen
QuickBook einsetzen
»bcp« einsetzen
Wave einsetzen
35 Mit Boost weitergehen
Strings mit RegEx durchsuchen
Die RegEx-Bibliothek hinzufügen
Den RegEx-Code schreiben
Strings mit dem Tokenizer aufteilen
Numerische Umwandlungen vornehmen
Bessere Schleifen mit Foreach schreiben
Mit Filesystem auf das Betriebssystem zugreifen
Anhang Automatisieren Sie Ihre Anwendungen durch Makefiles
Kompilieren und Linken
Automatisieren Sie Ihre Arbeit
Mit Inferenz-Regeln Anwendungen bauen
Regeln verwenden, die von anderen Regeln abhängen
Bestimmte Elemente erstellen
Von mehreren Dateien abhängig sein
Kompilieren und Linken mit make
Aufräumen
Makros einsetzen
Das Beste aus Makefiles herausholen
Stichwortverzeichnis
End User License Agreement
← Prev
Back
Next →
← Prev
Back
Next →