StichwortverzeichnisFeedback


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



StichwortverzeichnisFeedbackKapitelanfang


© Markt&Technik Verlag, ein Imprint der Pearson Education Deutschland GmbH
HTML-Erstellung: Reemers EDV-Satz, Krefeld