
Inhaltsverzeichnis
Was ist neu in der dritten Auflage?
- Über den Autor
- Einführung
- An wen sich dieses Buch wendet
- Konventionen
Auf einen Blick
- Hinweis für C-Programmierer
- Aufbau der ersten Woche
Tag 1 Erste Schritte
- Ein kurzer geschichtlicher Abriß der Programmiersprache C++
- Programme
- Probleme lösen
- Wie sich C++ entwickelt hat
- Sollte ich zuerst C lernen?
- C++ und Java
- Der ANSI-Standard
- Vorbereitungen
- Ihre Entwicklungsumgebung
- Quellcode kompilieren
- Ein ausführbares Programm mit dem Linker erstellen
- Der Entwicklungszyklus
- HELLO.CPP - Ihr erstes C++-Programm
- Die ersten Schritte mit Visual C++ 6
- Fehler zur Kompilierzeit
- Zusammenfassung
- Fragen und Antworten
- Workshop
Tag 2 Die Bestandteile eines C++-Programms
- Ein einfaches Programm
- Eine kurze Einführung in cout
- Kommentare
- Funktionen
- Funktionen verwenden
- Zusammenfassung
- Fragen und Antworten
- Workshop
Tag 3 Variablen und Konstanten
- Was ist eine Variable?
- Variablen definieren
- Mehrere Variablen gleichzeitig erzeugen
- Werte an Variablen zuweisen
- typedef
- Wann verwendet man short und wann long?
- Zeichen
- Konstanten
- Aufzählungstypen
- Zusammenfassung
- Fragen und Antworten
- Workshop
Tag 4 Ausdrücke und Anweisungen
- Anweisungen
- Whitespace
- Blöcke und Verbundanweisungen
- Ausdrücke
- Operatoren
- Zusammengesetzte Operatoren
- Inkrementieren und Dekrementieren
- Rangfolge der Operatoren
- Verschachtelte Klammern
- Wahrheitswerte
- Die if-Anweisung
- Geschweifte Klammern in verschachtelten if-Anweisungen
- Logische Operatoren
- Verkürzte Prüfung
- Rangfolge der Vergleichsoperatoren
- Mehr über Wahr und Unwahr
- Der Bedingungsoperator
- Zusammenfassung
- Fragen und Antworten
- Workshop
Tag 5 Funktionen
- Was ist eine Funktion?
- Rückgabewerte, Parameter und Argumente
- Funktionen deklarieren und definieren
- Ausführung von Funktionen
- Lokale Variablen
- Globale Variablen
- Globale Variablen: mit Vorsicht zu genießen
- Mehr zu den lokalen Variablen
- Anweisungen in Funktionen
- Funktionsargumente
- Parameter sind lokale Variablen
- Rückgabewerte
- Standardparameter
- Funktionen überladen
- Besondere Funktionen
- Arbeitsweise von Funktionen - ein Blick hinter die Kulissen
- Zusammenfassung
- Fragen und Antworten
- Workshop
Tag 6 Klassen
- Neue Typen erzeugen
- Klassen und Elemente
- Auf Klassenelemente zugreifen
- Private und Public
- Klassenmethoden implementieren
- Konstruktoren und Destruktoren
- Konstante Elementfunktionen
- Schnittstelle und Implementierung
- Klassendeklarationen und Methodendefinitionen plazieren
- Inline-Implementierung
- Klassen als Datenelemente einer Klasse
- Strukturen
- Zusammenfassung
- Fragen und Antworten
- Workshop
Tag 7 Mehr zur Programmsteuerung
- Schleifenkonstruktionen
- while-Schleifen
- do...while-Schleifen
- do...while
- for-Schleifen
- Summierende Schleifen
- switch-Anweisungen
- Zusammenfassung
- Fragen und Antworten
- Workshop
Auf einen Blick
- Aufbau der zweiten Woche
Tag 8 Zeiger
- Was ist ein Zeiger?
- Warum man Zeiger verwendet
- Stack und Heap
- Speicherlücken
- Objekte auf dem Heap erzeugen
- Objekte löschen
- Auf Datenelemente zugreifen
- Datenelemente auf dem Heap
- Der this-Zeiger
- Vagabundierende Zeiger
- Konstante Zeiger
- Zeigerarithmetik
- Zusammenfassung
- Fragen und Antworten
- Workshop
Tag 9 Referenzen
- Was ist eine Referenz?
- Der Adreßoperator bei Referenzen
- Was kann man referenzieren?
- Null-Zeiger und Null-Referenzen
- Funktionsargumente als Referenz übergeben
- Header und Prototypen von Funktionen
- Mehrere Werte zurückgeben
- Übergabe als Referenz der Effizienz wegen
- Wann verwendet man Referenzen und wann Zeiger?
- Referenzen und Zeiger mischen
- Referenzen auf nicht mehr vorhandene Objekte
- Referenzen auf Objekte im Heap zurückgeben
- Wem gehört der Zeiger?
- Zusammenfassung
- Fragen und Antworten
- Workshop
Tag 10 Funktionen - weiterführende Themen
- Überladene Elementfunktionen
- Standardwerte
- Standardwerte oder überladene Funktionen?
- Der Standardkonstruktor
- Konstruktoren überladen
- Objekte initialisieren
- Der Kopierkonstruktor
- Operatoren überladen
- Umwandlungsoperatoren
- Zusammenfassung
- Fragen und Antworten
- Workshop
Tag 11 Vererbung
- Was ist Vererbung?
- Private und Protected
- Konstruktoren und Destruktoren
- Funktionen überschreiben
- Virtuelle Methoden
- Zusammenfassung
- Fragen und Antworten
- Workshop
Tag 12 Arrays und verkettete Listen
- Was ist ein Array?
- Array-Elemente
- Über das Ende eines Array schreiben
- Fence Post Errors
- Arrays initialisieren
- Arrays deklarieren
- Arrays von Objekten
- Mehrdimensionale Arrays
- Ein Wort zum Speicher
- Arrays von Zeigern
- Arrays auf dem Heap
- Zeiger auf Arrays und Arrays von Zeigern
- Zeiger und Array-Namen
- Arrays im Heap löschen
- char-Arrays
- strcpy() und strncpy()
- String-Klassen
- Verkettete Listen und andere Strukturen
- Fallstudie zu den verketteten Listen
- Die einzelnen Komponenten
- Was haben wir gelernt?
- Array-Klassen
- Zusammenfassung
- Fragen und Antworten
- Workshop
Tag 13 Polymorphie
- Probleme bei der einfachen Vererbung
- Mehrfachvererbung
- Abstrakte Datentypen (ADTs)
- Das Überwachungsmuster
- Zusammenfassung
- Fragen und Antworten
- Workshop
Tag 14 Spezielle Themen zu Klassen und Funktionen
- Statische Datenelemente
- Statische Elementfunktionen
- Zeiger auf Funktionen
- Zeiger auf Elementfunktionen
- Zusammenfassung
- Fragen und Antworten
- Workshop
Auf einen Blick
- Aufbau der dritten Woche
Tag 15 Vererbung - weiterführende Themen
- Einbettung (Containment)
- Vererbung, Einbettung und Delegierung
- Delegierung
- Private Vererbung
- Friend-Klassen
- Friend-Funktionen
- Friend-Funktionen und das Überladen von Operatoren
- Überladung des Ausgabe-Operators
- Zusammenfassung
- Fragen und Antworten
- Workshop
Tag 16 Streams
- Streams - ein Überblick
- Streams und Puffer
- Standard-E/A-Objekte
- Umleitung
- Eingabe mit cin
- Weitere Elementfunktionen von cin
- Ausgabe mit cout
- Verwandte Funktionen
- Manipulatoren, Flags und Formatierungsanweisungen
- Streams und die Funktion printf()
- Eingabe und Ausgabe für Dateien
- ofstream
- Binärdateien und Textdateien
- Befehlszeilenverarbeitung
- Zusammenfassung
- Fragen und Antworten
- Workshop
Tag 17 Namensbereiche
- Zum Einstieg
- Funktionen und Klassen werden über den Namen aufgelöst
- Namensbereiche einrichten
- Namensbereiche einsetzen
- Das Schlüsselwort using
- Aliase für Namensbereich
- Der unbenannte Namensbereich
- Der Standardnamensbereich std
- Zusammenfassung
- Fragen und Antworten
- Workshop
Tag 18 Objektorientierte Analyse und objektorientiertes Design
- Ist C++ objektorientiert?
- Modelle erstellen
- Software-Design: Die Modelliersprache
- Software-Design: die Vorgehensweise
- Konzeptionierung
- Analyse der Anforderungen
- Design
- Zusammenfassung
- Fragen und Antworten
- Workshop
Tag 19 Templates
- Was sind Templates?
- Parametrisierte Typen
- Definition von Templates
- Template-Funktionen
- Templates und Friends
- Template-Elemente
- Die Standard Template Library
- Container
- Sequentielle Container
- Stacks
- Queues
- Assoziative Container
- Algorithmenklassen
- Zusammenfassung
- Fragen und Antworten
- Workshop
Tag 20 Exceptions und Fehlerbehandlung
- Bugs, Fehler, Irrtümer und Code Rot
- Exceptions
- try-Blöcke und catch-Blöcke einsetzen
- Datenelemente in Exceptions und Benennung von Exception-Objekten
- Exceptions und Templates
- Exceptions ohne Fehler
- Fehler und Fehlersuche mit dem Debugger
- Zusammenfassung
- Fragen und Antworten
- Workshop
Tag 21 So geht's weiter
- Präprozessor und Compiler
- Das Zwischenformat ansehen
- Die Anweisung #define
- Schutz vor Mehrfachdeklarationen
- Makrofunktionen
- Inline-Funktionen
- String-Manipulation
- Vordefinierte Makros
- assert
- Bitmanipulation
- Stil
- Wie geht es weiter?
- Zusammenfassung
- Fragen und Antworten
- Workshop
Anhang A Operatorvorrang
Anhang B C++-Schlüsselwörter
Anhang C Binäres und hexadezimales Zahlensystem
- Andere Basen
- Betrachtungen zu den Basen der Zahlensysteme
- Das Binärsystem
- Hexadezimalsystem
Anhang D Anworten und Lösungen
- Tag 1
- Tag 2
- Tag 3
- Tag 4
- Tag 5
- Tag 6
- Tag 7
- Tag 8
- Tag 9
- Tag 10
- Tag 11
- Tag 12
- Tag 13
- Tag 14
- Tag 15
- Tag 16
- Tag 17
- Tag 18
- Tag 19
- Tag 20
- Tag 21
Anhang E Die CD zum Buch
Stichwortverzeichnis


© Markt&Technik Verlag, ein Imprint der Pearson Education Deutschland GmbH