Dekorationsartikel gehören nicht zum Leistungsumfang.
Sprache:
Deutsch
24,90 €*
Versandkostenfrei per Post / DHL
auf Lager, Lieferzeit 1-2 Werktage
Kategorien:
Beschreibung
Ohne Umwege und ohne Vorkenntnisse lernen Sie, in C++ zu programmieren - und zwar ganz nebenbei so, wie es aktuelle Profi-Praxis ist. Der vermeintlichen Dinosaurier unter den objektorientierten Sprachen hat neue Standards und moderne Programmierwerkzeuge zu bieten. Lernen Sie hier, damit umzugehen. Lassen Sie sich in der C++-Welt an die Hand nehmen. Ob es um einfache Variablen oder anonyme Funktionen geht - unser Autor führt Sie an allen Fallstricken vorbei und erläutert Fachbegriffe und Best Practices zu den Grundlagen genauso wie zu professionellen Themen.
Aus dem Inhalt:
- Ausdrücke und Anweisungen
- Werte und Datentypen
- Ablaufkontrolle
- Algorithmen und Komplexität
- Compiler, IDE und Konsole
- Vererbung, Aggregation, Design Patterns
- Heap und Stack verstehen
- Dateizugriffe und Streams
- Lebenszyklen und Zugriffskontrolle
Ohne Umwege und ohne Vorkenntnisse lernen Sie, in C++ zu programmieren - und zwar ganz nebenbei so, wie es aktuelle Profi-Praxis ist. Der vermeintlichen Dinosaurier unter den objektorientierten Sprachen hat neue Standards und moderne Programmierwerkzeuge zu bieten. Lernen Sie hier, damit umzugehen. Lassen Sie sich in der C++-Welt an die Hand nehmen. Ob es um einfache Variablen oder anonyme Funktionen geht - unser Autor führt Sie an allen Fallstricken vorbei und erläutert Fachbegriffe und Best Practices zu den Grundlagen genauso wie zu professionellen Themen.
Aus dem Inhalt:
- Ausdrücke und Anweisungen
- Werte und Datentypen
- Ablaufkontrolle
- Algorithmen und Komplexität
- Compiler, IDE und Konsole
- Vererbung, Aggregation, Design Patterns
- Heap und Stack verstehen
- Dateizugriffe und Streams
- Lebenszyklen und Zugriffskontrolle
Über den Autor
Torsten T. Will, Jahrgang 1970, beschäftigte sich bereits während seines Diploms in Informatik mit Programmiersprachen und ihren Konzepten. C++ hat ihn schon in seinen Anfängen fasziniert und begleitet. Andere Programmierprojekte bewältigte er vor allem in Pascal, Java, Scala und Python. Seit 2004 schreibt er im Fachmagazin c't gelegentlich über C++ und Python. Was dann noch an Zeit übrig bleibt, geht in die Fotografie.
Zusammenfassung
Inklusive Objektorientierung, Exceptions und Templates
Inhaltsverzeichnis
Geleitwort des Fachgutachters ... 18
Vorwort ... 20
TEIL I Erste Schritte ... 23
1. Über dieses Buch ... 25
1.1 ... Der C++-Standard ... 26
1.2 ... Verwendete Formatierungen ... 27
2. Vom Problem zum Programm ... 29
2.1 ... Was ist Programmieren? ... 30
2.2 ... Softwareentwicklungsmethoden ... 30
2.3 ... Entwurfsmuster ... 32
2.4 ... Algorithmen ... 33
2.5 ... Ressourcen ... 34
3. Programmieren in C++ ... 36
3.1 ... Übersetzen ... 37
3.2 ... Aktuelle Compiler ... 37
3.3 ... Entwicklungsumgebungen ... 39
3.4 ... Die Kommandozeile unter Ubuntu ... 41
3.5 ... Die IDE 'Microsoft Visual Studio Express' unter Windows ... 44
3.6 ... Schneller ... 47
3.7 ... Aufgaben ... 47
4. Ein ganz schneller Überblick ... 49
4.1 ... Kommentare ... 50
4.2 ... Die 'include'-Direktive ... 50
4.3 ... Die Standardbibliothek ... 51
4.4 ... Die Funktion 'main()' ... 51
4.5 ... Typen ... 51
4.6 ... Variablen ... 52
4.7 ... Initialisierung ... 52
4.8 ... Ausgabe auf der Konsole ... 53
4.9 ... Anweisungen ... 53
4.10 ... Aufgaben ... 54
5. Ohne Eile erklärt ... 56
5.1 ... Leerräume, Bezeichner und Token ... 58
5.2 ... Kommentare ... 59
5.3 ... Funktionen und Argumente ... 60
5.4 ... Seiteneffekt-Operatoren ... 61
5.5 ... Die 'main'-Funktion ... 62
5.6 ... Anweisungen ... 64
5.7 ... Ausdrücke ... 66
5.8 ... Zuweisungen ... 68
5.9 ... Typen ... 69
5.10 ... Variablen -- Deklaration, Definition und Initialisierung ... 74
5.11 ... Details zur 'include'-Direktive ... 75
5.12 ... Eingabe und Ausgabe ... 76
5.13 ... Der Namensraum 'std' ... 77
5.14 ... Aufgaben ... 79
6. Programmiertechnik, 1. Dan: Lesbarer Code ... 81
6.1 ... Kommentare ... 81
6.2 ... Dokumentation ... 82
6.3 ... Einrückungen und Zeilenlänge ... 83
6.4 ... Zeilen pro Funktion und Datei ... 84
6.5 ... Klammern und Leerzeichen ... 84
6.6 ... Namen ... 86
TEIL II Die Elemente von C++ ... 87
7. Operatoren ... 89
7.1 ... Operatoren und Operanden ... 90
7.2 ... Überblick über Operatoren ... 90
7.3 ... Arithmetische Operatoren ... 91
7.4 ... Bitweise Arithmetik ... 92
7.5 ... Zuweisungsoperatoren ... 93
7.6 ... Post- und Präinkrement sowie Post- und Prädekrement ... 94
7.7 ... Relationale Operatoren ... 95
7.8 ... Logische Operatoren ... 95
7.9 ... Pointer- und Dereferenzierungsoperatoren ... 97
7.10 ... Besondere Operatoren ... 97
7.11 ... Funktionsähnliche Operatoren ... 99
7.12 ... Operatorreihenfolge ... 100
7.13 ... Aufgaben ... 101
8. Eingebaute Typen ... 103
8.1 ... Eingebaute Datentypen ... 105
8.2 ... Eingebaute Datentypen initialisieren ... 105
8.3 ... Ein schneller Überblick ... 106
8.4 ... Ganzzahlen ... 107
8.5 ... Wahrheitswerte ... 118
8.6 ... Zeichentypen ... 119
8.7 ... Aufgaben ... 122
9. Strings und Streams ... 124
9.1 ... Der Zeichenkettentyp 'string' ... 124
9.2 ... Streams ... 129
9.3 ... Eingabe- und Ausgabeoperatoren ... 130
9.4 ... Aufgaben ... 134
10. Behälter und Zeiger ... 135
10.1 ... Parametrisierte Typen ... 136
10.2 ... Die einfachen Sequenzcontainer ... 136
10.3 ... Weitere Container ... 141
10.4 ... Container-Gemeinsamkeiten ... 144
10.5 ... Algorithmen ... 145
10.6 ... Zeiger und C-Arrays ... 146
10.7 ... Aufgaben ... 147
11. Funktionen ... 148
11.1 ... Deklaration und Definition einer Funktion ... 149
11.2 ... Funktionstyp ... 150
11.3 ... Funktionen verwenden ... 150
11.4 ... Eine Funktion definieren ... 151
11.5 ... Mehr zu Parametern ... 152
11.6 ... Funktionskörper ... 156
11.7 ... Parameter umwandeln ... 158
11.8 ... Funktionen überladen ... 160
11.9 ... Default-Parameter ... 162
11.10 ... Beliebig viele Argumente ... 163
11.11 ... Alternative Schreibweise zur Funktionsdeklaration ... 164
11.12 ... Spezialitäten ... 165
11.13 ... Aufgaben ... 167
12. Anweisungen im Detail ... 169
12.1 ... Anweisungsblock ... 171
12.2 ... Die leere Anweisung ... 174
12.3 ... Deklarationsanweisung ... 175
12.4 ... Ausdrucksanweisung ... 176
12.5 ... Die if-Anweisung ... 176
12.6 ... 'while'-Schleife ... 179
12.7 ... 'do-while'-Schleife ... 180
12.8 ... 'for'-Schleife ... 181
12.9 ... Die bereichsbasierte 'for'-Schleife ... 182
12.10 ... Die 'switch'-Verzweigung ... 183
12.11 ... 'break'-Anweisung ... 187
12.12 ... Die 'continue'-Anweisung ... 188
12.13 ... Die 'return'-Anweisung ... 189
12.14 ... Die 'goto'-Anweisung ... 190
12.15 ... 'try-catch'-Block und 'throw' ... 192
12.16 ... Zusammenfassung ... 193
12.17 ... Aufgaben ... 193
13. Ausdrücke im Detail ... 196
13.1 ... Berechnungen und Seiteneffekte ... 197
13.2 ... Arten von Ausdrücken ... 198
13.3 ... Literale ... 199
13.4 ... Bezeichner ... 200
13.5 ... Klammern ... 201
13.6 ... Funktionsaufruf und Index-Zugriff ... 201
13.7 ... Zuweisung ... 201
13.8 ... Typumwandlung ... 203
13.9 ... Aufgaben ... 204
14. Fehlerbehandlung ... 205
14.1 ... Fehlerbehandlung mit Rückgabewerten ... 207
14.2 ... Was ist eine Ausnahme? ... 210
14.3 ... Kleinere Fehlerbehandlungen ... 213
14.4 ... Weiterwerfen -- 'rethrow' ... 213
14.5 ... Die Reihenfolge im 'catch' ... 214
14.6 ... Typen für Exceptions ... 216
14.7 ... Wenn eine Exception aus 'main' herausfällt ... 217
14.8 ... Aufgaben ... 217
15. Programmiertechnik, 2. Dan: Modularisierung ... 219
15.1 ... Programm, Bibliothek, Objektdatei ... 219
15.2 ... Bausteine ... 220
15.3 ... Trennen der Funktionalitäten ... 221
TEIL III Datenstrukturen ... 223
16. Erste eigene Datentypen ... 225
16.1 ... Initialisierung ... 226
16.2 ... Rückgabe eigener Typen ... 227
16.3 ... Methoden statt Funktionen ... 228
16.4 ... Das bessere 'drucke' ... 231
16.5 ... Eine Ausgabe wie jede andere ... 232
16.6 ... Methoden inline definieren ... 233
16.7 ... Implementierung und Definition trennen ... 234
16.8 ... Initialisierung per Konstruktor ... 235
16.9 ... Struktur oder Klasse? ... 241
16.10 ... Zusammenfassung ... 245
16.11 ... Aufgaben ... 245
17. Verwendung eigener Datentypen ... 248
17.1 ... Klassen als Werte verwenden ... 251
17.2 ... Konstruktoren nutzen ... 253
17.3 ... Typumwandlungen ... 254
17.4 ... Kapseln und entkapseln ... 256
17.5 ... Typen lokal einen Namen geben ... 260
17.6 ... Typdeduktion mit 'auto' ... 263
17.7 ... Eigene Klassen in Standardcontainern ... 266
17.8 ... Aufgaben ... 268
18. Namespace und Static ... 270
18.1 ... Der Namensraum 'std' ... 270
18.2 ... Anonymer Namensraum ... 274
18.3 ... 'static' macht lokal ... 275
18.4 ... 'static' teilt gern ... 276
18.5 ... 'static' macht dauerhaft ... 279
18.6 ... Zusammenfassung ... 281
18.7 ... Aufgaben ... 281
19. Const ... 284
19.1 ... Const-Parameter ... 285
19.2 ... Const-Methoden ... 286
19.3 ... Const-Variablen ... 288
19.4 ... Const-Rückgaben ... 289
19.5 ... Const-Korrektheit ... 296
19.6 ... Zusammenfassung ... 297
19.7 ... Aufgaben ... 298
20. Vererbung ... 300
20.1 ... Beziehungen ... 301
20.2 ... Vererbung in C++ ... 303
20.3 ... Hat-ein versus ist-ein ... 304
20.4 ... Gemeinsamkeiten finden ... 304
20.5 ... Abgeleitete Typen erweitern ... 307
20.6 ... Methoden überschreiben ... 308
20.7 ... Wie Methoden funktionieren ... 309
20.8 ... Virtuelle Methoden ... 310
20.9 ... Konstruktoren in...
Vorwort ... 20
TEIL I Erste Schritte ... 23
1. Über dieses Buch ... 25
1.1 ... Der C++-Standard ... 26
1.2 ... Verwendete Formatierungen ... 27
2. Vom Problem zum Programm ... 29
2.1 ... Was ist Programmieren? ... 30
2.2 ... Softwareentwicklungsmethoden ... 30
2.3 ... Entwurfsmuster ... 32
2.4 ... Algorithmen ... 33
2.5 ... Ressourcen ... 34
3. Programmieren in C++ ... 36
3.1 ... Übersetzen ... 37
3.2 ... Aktuelle Compiler ... 37
3.3 ... Entwicklungsumgebungen ... 39
3.4 ... Die Kommandozeile unter Ubuntu ... 41
3.5 ... Die IDE 'Microsoft Visual Studio Express' unter Windows ... 44
3.6 ... Schneller ... 47
3.7 ... Aufgaben ... 47
4. Ein ganz schneller Überblick ... 49
4.1 ... Kommentare ... 50
4.2 ... Die 'include'-Direktive ... 50
4.3 ... Die Standardbibliothek ... 51
4.4 ... Die Funktion 'main()' ... 51
4.5 ... Typen ... 51
4.6 ... Variablen ... 52
4.7 ... Initialisierung ... 52
4.8 ... Ausgabe auf der Konsole ... 53
4.9 ... Anweisungen ... 53
4.10 ... Aufgaben ... 54
5. Ohne Eile erklärt ... 56
5.1 ... Leerräume, Bezeichner und Token ... 58
5.2 ... Kommentare ... 59
5.3 ... Funktionen und Argumente ... 60
5.4 ... Seiteneffekt-Operatoren ... 61
5.5 ... Die 'main'-Funktion ... 62
5.6 ... Anweisungen ... 64
5.7 ... Ausdrücke ... 66
5.8 ... Zuweisungen ... 68
5.9 ... Typen ... 69
5.10 ... Variablen -- Deklaration, Definition und Initialisierung ... 74
5.11 ... Details zur 'include'-Direktive ... 75
5.12 ... Eingabe und Ausgabe ... 76
5.13 ... Der Namensraum 'std' ... 77
5.14 ... Aufgaben ... 79
6. Programmiertechnik, 1. Dan: Lesbarer Code ... 81
6.1 ... Kommentare ... 81
6.2 ... Dokumentation ... 82
6.3 ... Einrückungen und Zeilenlänge ... 83
6.4 ... Zeilen pro Funktion und Datei ... 84
6.5 ... Klammern und Leerzeichen ... 84
6.6 ... Namen ... 86
TEIL II Die Elemente von C++ ... 87
7. Operatoren ... 89
7.1 ... Operatoren und Operanden ... 90
7.2 ... Überblick über Operatoren ... 90
7.3 ... Arithmetische Operatoren ... 91
7.4 ... Bitweise Arithmetik ... 92
7.5 ... Zuweisungsoperatoren ... 93
7.6 ... Post- und Präinkrement sowie Post- und Prädekrement ... 94
7.7 ... Relationale Operatoren ... 95
7.8 ... Logische Operatoren ... 95
7.9 ... Pointer- und Dereferenzierungsoperatoren ... 97
7.10 ... Besondere Operatoren ... 97
7.11 ... Funktionsähnliche Operatoren ... 99
7.12 ... Operatorreihenfolge ... 100
7.13 ... Aufgaben ... 101
8. Eingebaute Typen ... 103
8.1 ... Eingebaute Datentypen ... 105
8.2 ... Eingebaute Datentypen initialisieren ... 105
8.3 ... Ein schneller Überblick ... 106
8.4 ... Ganzzahlen ... 107
8.5 ... Wahrheitswerte ... 118
8.6 ... Zeichentypen ... 119
8.7 ... Aufgaben ... 122
9. Strings und Streams ... 124
9.1 ... Der Zeichenkettentyp 'string' ... 124
9.2 ... Streams ... 129
9.3 ... Eingabe- und Ausgabeoperatoren ... 130
9.4 ... Aufgaben ... 134
10. Behälter und Zeiger ... 135
10.1 ... Parametrisierte Typen ... 136
10.2 ... Die einfachen Sequenzcontainer ... 136
10.3 ... Weitere Container ... 141
10.4 ... Container-Gemeinsamkeiten ... 144
10.5 ... Algorithmen ... 145
10.6 ... Zeiger und C-Arrays ... 146
10.7 ... Aufgaben ... 147
11. Funktionen ... 148
11.1 ... Deklaration und Definition einer Funktion ... 149
11.2 ... Funktionstyp ... 150
11.3 ... Funktionen verwenden ... 150
11.4 ... Eine Funktion definieren ... 151
11.5 ... Mehr zu Parametern ... 152
11.6 ... Funktionskörper ... 156
11.7 ... Parameter umwandeln ... 158
11.8 ... Funktionen überladen ... 160
11.9 ... Default-Parameter ... 162
11.10 ... Beliebig viele Argumente ... 163
11.11 ... Alternative Schreibweise zur Funktionsdeklaration ... 164
11.12 ... Spezialitäten ... 165
11.13 ... Aufgaben ... 167
12. Anweisungen im Detail ... 169
12.1 ... Anweisungsblock ... 171
12.2 ... Die leere Anweisung ... 174
12.3 ... Deklarationsanweisung ... 175
12.4 ... Ausdrucksanweisung ... 176
12.5 ... Die if-Anweisung ... 176
12.6 ... 'while'-Schleife ... 179
12.7 ... 'do-while'-Schleife ... 180
12.8 ... 'for'-Schleife ... 181
12.9 ... Die bereichsbasierte 'for'-Schleife ... 182
12.10 ... Die 'switch'-Verzweigung ... 183
12.11 ... 'break'-Anweisung ... 187
12.12 ... Die 'continue'-Anweisung ... 188
12.13 ... Die 'return'-Anweisung ... 189
12.14 ... Die 'goto'-Anweisung ... 190
12.15 ... 'try-catch'-Block und 'throw' ... 192
12.16 ... Zusammenfassung ... 193
12.17 ... Aufgaben ... 193
13. Ausdrücke im Detail ... 196
13.1 ... Berechnungen und Seiteneffekte ... 197
13.2 ... Arten von Ausdrücken ... 198
13.3 ... Literale ... 199
13.4 ... Bezeichner ... 200
13.5 ... Klammern ... 201
13.6 ... Funktionsaufruf und Index-Zugriff ... 201
13.7 ... Zuweisung ... 201
13.8 ... Typumwandlung ... 203
13.9 ... Aufgaben ... 204
14. Fehlerbehandlung ... 205
14.1 ... Fehlerbehandlung mit Rückgabewerten ... 207
14.2 ... Was ist eine Ausnahme? ... 210
14.3 ... Kleinere Fehlerbehandlungen ... 213
14.4 ... Weiterwerfen -- 'rethrow' ... 213
14.5 ... Die Reihenfolge im 'catch' ... 214
14.6 ... Typen für Exceptions ... 216
14.7 ... Wenn eine Exception aus 'main' herausfällt ... 217
14.8 ... Aufgaben ... 217
15. Programmiertechnik, 2. Dan: Modularisierung ... 219
15.1 ... Programm, Bibliothek, Objektdatei ... 219
15.2 ... Bausteine ... 220
15.3 ... Trennen der Funktionalitäten ... 221
TEIL III Datenstrukturen ... 223
16. Erste eigene Datentypen ... 225
16.1 ... Initialisierung ... 226
16.2 ... Rückgabe eigener Typen ... 227
16.3 ... Methoden statt Funktionen ... 228
16.4 ... Das bessere 'drucke' ... 231
16.5 ... Eine Ausgabe wie jede andere ... 232
16.6 ... Methoden inline definieren ... 233
16.7 ... Implementierung und Definition trennen ... 234
16.8 ... Initialisierung per Konstruktor ... 235
16.9 ... Struktur oder Klasse? ... 241
16.10 ... Zusammenfassung ... 245
16.11 ... Aufgaben ... 245
17. Verwendung eigener Datentypen ... 248
17.1 ... Klassen als Werte verwenden ... 251
17.2 ... Konstruktoren nutzen ... 253
17.3 ... Typumwandlungen ... 254
17.4 ... Kapseln und entkapseln ... 256
17.5 ... Typen lokal einen Namen geben ... 260
17.6 ... Typdeduktion mit 'auto' ... 263
17.7 ... Eigene Klassen in Standardcontainern ... 266
17.8 ... Aufgaben ... 268
18. Namespace und Static ... 270
18.1 ... Der Namensraum 'std' ... 270
18.2 ... Anonymer Namensraum ... 274
18.3 ... 'static' macht lokal ... 275
18.4 ... 'static' teilt gern ... 276
18.5 ... 'static' macht dauerhaft ... 279
18.6 ... Zusammenfassung ... 281
18.7 ... Aufgaben ... 281
19. Const ... 284
19.1 ... Const-Parameter ... 285
19.2 ... Const-Methoden ... 286
19.3 ... Const-Variablen ... 288
19.4 ... Const-Rückgaben ... 289
19.5 ... Const-Korrektheit ... 296
19.6 ... Zusammenfassung ... 297
19.7 ... Aufgaben ... 298
20. Vererbung ... 300
20.1 ... Beziehungen ... 301
20.2 ... Vererbung in C++ ... 303
20.3 ... Hat-ein versus ist-ein ... 304
20.4 ... Gemeinsamkeiten finden ... 304
20.5 ... Abgeleitete Typen erweitern ... 307
20.6 ... Methoden überschreiben ... 308
20.7 ... Wie Methoden funktionieren ... 309
20.8 ... Virtuelle Methoden ... 310
20.9 ... Konstruktoren in...
Details
Erscheinungsjahr: | 2014 |
---|---|
Fachbereich: | Programmiersprachen |
Genre: | Informatik, Mathematik, Medizin, Naturwissenschaften, Technik |
Rubrik: | Naturwissenschaften & Technik |
Medium: | Buch |
Titelzusatz: | Einstieg in die moderne Programmierung mit C++ / Setzt keine Programmier-oder C-Kenntnisse voraus / Inkl.Objektorientierung, Standardbibliothek, Zeiger u.v.m |
Reihe: | Rheinwerk Computing |
Inhalt: | 520 S. |
ISBN-13: | 9783836226776 |
ISBN-10: | 3836226774 |
Sprache: | Deutsch |
Einband: | Gebunden |
Autor: | Will, Torsten T. |
Hersteller: | Rheinwerk Verlag GmbH |
Verantwortliche Person für die EU: | Rheinwerk Verlag GmbH, Rheinwerkallee 4, D-53227 Bonn, service@rheinwerk-verlag.de |
Maße: | 246 x 174 x 32 mm |
Von/Mit: | Torsten T. Will |
Erscheinungsdatum: | 27.10.2014 |
Gewicht: | 1,001 kg |
Über den Autor
Torsten T. Will, Jahrgang 1970, beschäftigte sich bereits während seines Diploms in Informatik mit Programmiersprachen und ihren Konzepten. C++ hat ihn schon in seinen Anfängen fasziniert und begleitet. Andere Programmierprojekte bewältigte er vor allem in Pascal, Java, Scala und Python. Seit 2004 schreibt er im Fachmagazin c't gelegentlich über C++ und Python. Was dann noch an Zeit übrig bleibt, geht in die Fotografie.
Zusammenfassung
Inklusive Objektorientierung, Exceptions und Templates
Inhaltsverzeichnis
Geleitwort des Fachgutachters ... 18
Vorwort ... 20
TEIL I Erste Schritte ... 23
1. Über dieses Buch ... 25
1.1 ... Der C++-Standard ... 26
1.2 ... Verwendete Formatierungen ... 27
2. Vom Problem zum Programm ... 29
2.1 ... Was ist Programmieren? ... 30
2.2 ... Softwareentwicklungsmethoden ... 30
2.3 ... Entwurfsmuster ... 32
2.4 ... Algorithmen ... 33
2.5 ... Ressourcen ... 34
3. Programmieren in C++ ... 36
3.1 ... Übersetzen ... 37
3.2 ... Aktuelle Compiler ... 37
3.3 ... Entwicklungsumgebungen ... 39
3.4 ... Die Kommandozeile unter Ubuntu ... 41
3.5 ... Die IDE 'Microsoft Visual Studio Express' unter Windows ... 44
3.6 ... Schneller ... 47
3.7 ... Aufgaben ... 47
4. Ein ganz schneller Überblick ... 49
4.1 ... Kommentare ... 50
4.2 ... Die 'include'-Direktive ... 50
4.3 ... Die Standardbibliothek ... 51
4.4 ... Die Funktion 'main()' ... 51
4.5 ... Typen ... 51
4.6 ... Variablen ... 52
4.7 ... Initialisierung ... 52
4.8 ... Ausgabe auf der Konsole ... 53
4.9 ... Anweisungen ... 53
4.10 ... Aufgaben ... 54
5. Ohne Eile erklärt ... 56
5.1 ... Leerräume, Bezeichner und Token ... 58
5.2 ... Kommentare ... 59
5.3 ... Funktionen und Argumente ... 60
5.4 ... Seiteneffekt-Operatoren ... 61
5.5 ... Die 'main'-Funktion ... 62
5.6 ... Anweisungen ... 64
5.7 ... Ausdrücke ... 66
5.8 ... Zuweisungen ... 68
5.9 ... Typen ... 69
5.10 ... Variablen -- Deklaration, Definition und Initialisierung ... 74
5.11 ... Details zur 'include'-Direktive ... 75
5.12 ... Eingabe und Ausgabe ... 76
5.13 ... Der Namensraum 'std' ... 77
5.14 ... Aufgaben ... 79
6. Programmiertechnik, 1. Dan: Lesbarer Code ... 81
6.1 ... Kommentare ... 81
6.2 ... Dokumentation ... 82
6.3 ... Einrückungen und Zeilenlänge ... 83
6.4 ... Zeilen pro Funktion und Datei ... 84
6.5 ... Klammern und Leerzeichen ... 84
6.6 ... Namen ... 86
TEIL II Die Elemente von C++ ... 87
7. Operatoren ... 89
7.1 ... Operatoren und Operanden ... 90
7.2 ... Überblick über Operatoren ... 90
7.3 ... Arithmetische Operatoren ... 91
7.4 ... Bitweise Arithmetik ... 92
7.5 ... Zuweisungsoperatoren ... 93
7.6 ... Post- und Präinkrement sowie Post- und Prädekrement ... 94
7.7 ... Relationale Operatoren ... 95
7.8 ... Logische Operatoren ... 95
7.9 ... Pointer- und Dereferenzierungsoperatoren ... 97
7.10 ... Besondere Operatoren ... 97
7.11 ... Funktionsähnliche Operatoren ... 99
7.12 ... Operatorreihenfolge ... 100
7.13 ... Aufgaben ... 101
8. Eingebaute Typen ... 103
8.1 ... Eingebaute Datentypen ... 105
8.2 ... Eingebaute Datentypen initialisieren ... 105
8.3 ... Ein schneller Überblick ... 106
8.4 ... Ganzzahlen ... 107
8.5 ... Wahrheitswerte ... 118
8.6 ... Zeichentypen ... 119
8.7 ... Aufgaben ... 122
9. Strings und Streams ... 124
9.1 ... Der Zeichenkettentyp 'string' ... 124
9.2 ... Streams ... 129
9.3 ... Eingabe- und Ausgabeoperatoren ... 130
9.4 ... Aufgaben ... 134
10. Behälter und Zeiger ... 135
10.1 ... Parametrisierte Typen ... 136
10.2 ... Die einfachen Sequenzcontainer ... 136
10.3 ... Weitere Container ... 141
10.4 ... Container-Gemeinsamkeiten ... 144
10.5 ... Algorithmen ... 145
10.6 ... Zeiger und C-Arrays ... 146
10.7 ... Aufgaben ... 147
11. Funktionen ... 148
11.1 ... Deklaration und Definition einer Funktion ... 149
11.2 ... Funktionstyp ... 150
11.3 ... Funktionen verwenden ... 150
11.4 ... Eine Funktion definieren ... 151
11.5 ... Mehr zu Parametern ... 152
11.6 ... Funktionskörper ... 156
11.7 ... Parameter umwandeln ... 158
11.8 ... Funktionen überladen ... 160
11.9 ... Default-Parameter ... 162
11.10 ... Beliebig viele Argumente ... 163
11.11 ... Alternative Schreibweise zur Funktionsdeklaration ... 164
11.12 ... Spezialitäten ... 165
11.13 ... Aufgaben ... 167
12. Anweisungen im Detail ... 169
12.1 ... Anweisungsblock ... 171
12.2 ... Die leere Anweisung ... 174
12.3 ... Deklarationsanweisung ... 175
12.4 ... Ausdrucksanweisung ... 176
12.5 ... Die if-Anweisung ... 176
12.6 ... 'while'-Schleife ... 179
12.7 ... 'do-while'-Schleife ... 180
12.8 ... 'for'-Schleife ... 181
12.9 ... Die bereichsbasierte 'for'-Schleife ... 182
12.10 ... Die 'switch'-Verzweigung ... 183
12.11 ... 'break'-Anweisung ... 187
12.12 ... Die 'continue'-Anweisung ... 188
12.13 ... Die 'return'-Anweisung ... 189
12.14 ... Die 'goto'-Anweisung ... 190
12.15 ... 'try-catch'-Block und 'throw' ... 192
12.16 ... Zusammenfassung ... 193
12.17 ... Aufgaben ... 193
13. Ausdrücke im Detail ... 196
13.1 ... Berechnungen und Seiteneffekte ... 197
13.2 ... Arten von Ausdrücken ... 198
13.3 ... Literale ... 199
13.4 ... Bezeichner ... 200
13.5 ... Klammern ... 201
13.6 ... Funktionsaufruf und Index-Zugriff ... 201
13.7 ... Zuweisung ... 201
13.8 ... Typumwandlung ... 203
13.9 ... Aufgaben ... 204
14. Fehlerbehandlung ... 205
14.1 ... Fehlerbehandlung mit Rückgabewerten ... 207
14.2 ... Was ist eine Ausnahme? ... 210
14.3 ... Kleinere Fehlerbehandlungen ... 213
14.4 ... Weiterwerfen -- 'rethrow' ... 213
14.5 ... Die Reihenfolge im 'catch' ... 214
14.6 ... Typen für Exceptions ... 216
14.7 ... Wenn eine Exception aus 'main' herausfällt ... 217
14.8 ... Aufgaben ... 217
15. Programmiertechnik, 2. Dan: Modularisierung ... 219
15.1 ... Programm, Bibliothek, Objektdatei ... 219
15.2 ... Bausteine ... 220
15.3 ... Trennen der Funktionalitäten ... 221
TEIL III Datenstrukturen ... 223
16. Erste eigene Datentypen ... 225
16.1 ... Initialisierung ... 226
16.2 ... Rückgabe eigener Typen ... 227
16.3 ... Methoden statt Funktionen ... 228
16.4 ... Das bessere 'drucke' ... 231
16.5 ... Eine Ausgabe wie jede andere ... 232
16.6 ... Methoden inline definieren ... 233
16.7 ... Implementierung und Definition trennen ... 234
16.8 ... Initialisierung per Konstruktor ... 235
16.9 ... Struktur oder Klasse? ... 241
16.10 ... Zusammenfassung ... 245
16.11 ... Aufgaben ... 245
17. Verwendung eigener Datentypen ... 248
17.1 ... Klassen als Werte verwenden ... 251
17.2 ... Konstruktoren nutzen ... 253
17.3 ... Typumwandlungen ... 254
17.4 ... Kapseln und entkapseln ... 256
17.5 ... Typen lokal einen Namen geben ... 260
17.6 ... Typdeduktion mit 'auto' ... 263
17.7 ... Eigene Klassen in Standardcontainern ... 266
17.8 ... Aufgaben ... 268
18. Namespace und Static ... 270
18.1 ... Der Namensraum 'std' ... 270
18.2 ... Anonymer Namensraum ... 274
18.3 ... 'static' macht lokal ... 275
18.4 ... 'static' teilt gern ... 276
18.5 ... 'static' macht dauerhaft ... 279
18.6 ... Zusammenfassung ... 281
18.7 ... Aufgaben ... 281
19. Const ... 284
19.1 ... Const-Parameter ... 285
19.2 ... Const-Methoden ... 286
19.3 ... Const-Variablen ... 288
19.4 ... Const-Rückgaben ... 289
19.5 ... Const-Korrektheit ... 296
19.6 ... Zusammenfassung ... 297
19.7 ... Aufgaben ... 298
20. Vererbung ... 300
20.1 ... Beziehungen ... 301
20.2 ... Vererbung in C++ ... 303
20.3 ... Hat-ein versus ist-ein ... 304
20.4 ... Gemeinsamkeiten finden ... 304
20.5 ... Abgeleitete Typen erweitern ... 307
20.6 ... Methoden überschreiben ... 308
20.7 ... Wie Methoden funktionieren ... 309
20.8 ... Virtuelle Methoden ... 310
20.9 ... Konstruktoren in...
Vorwort ... 20
TEIL I Erste Schritte ... 23
1. Über dieses Buch ... 25
1.1 ... Der C++-Standard ... 26
1.2 ... Verwendete Formatierungen ... 27
2. Vom Problem zum Programm ... 29
2.1 ... Was ist Programmieren? ... 30
2.2 ... Softwareentwicklungsmethoden ... 30
2.3 ... Entwurfsmuster ... 32
2.4 ... Algorithmen ... 33
2.5 ... Ressourcen ... 34
3. Programmieren in C++ ... 36
3.1 ... Übersetzen ... 37
3.2 ... Aktuelle Compiler ... 37
3.3 ... Entwicklungsumgebungen ... 39
3.4 ... Die Kommandozeile unter Ubuntu ... 41
3.5 ... Die IDE 'Microsoft Visual Studio Express' unter Windows ... 44
3.6 ... Schneller ... 47
3.7 ... Aufgaben ... 47
4. Ein ganz schneller Überblick ... 49
4.1 ... Kommentare ... 50
4.2 ... Die 'include'-Direktive ... 50
4.3 ... Die Standardbibliothek ... 51
4.4 ... Die Funktion 'main()' ... 51
4.5 ... Typen ... 51
4.6 ... Variablen ... 52
4.7 ... Initialisierung ... 52
4.8 ... Ausgabe auf der Konsole ... 53
4.9 ... Anweisungen ... 53
4.10 ... Aufgaben ... 54
5. Ohne Eile erklärt ... 56
5.1 ... Leerräume, Bezeichner und Token ... 58
5.2 ... Kommentare ... 59
5.3 ... Funktionen und Argumente ... 60
5.4 ... Seiteneffekt-Operatoren ... 61
5.5 ... Die 'main'-Funktion ... 62
5.6 ... Anweisungen ... 64
5.7 ... Ausdrücke ... 66
5.8 ... Zuweisungen ... 68
5.9 ... Typen ... 69
5.10 ... Variablen -- Deklaration, Definition und Initialisierung ... 74
5.11 ... Details zur 'include'-Direktive ... 75
5.12 ... Eingabe und Ausgabe ... 76
5.13 ... Der Namensraum 'std' ... 77
5.14 ... Aufgaben ... 79
6. Programmiertechnik, 1. Dan: Lesbarer Code ... 81
6.1 ... Kommentare ... 81
6.2 ... Dokumentation ... 82
6.3 ... Einrückungen und Zeilenlänge ... 83
6.4 ... Zeilen pro Funktion und Datei ... 84
6.5 ... Klammern und Leerzeichen ... 84
6.6 ... Namen ... 86
TEIL II Die Elemente von C++ ... 87
7. Operatoren ... 89
7.1 ... Operatoren und Operanden ... 90
7.2 ... Überblick über Operatoren ... 90
7.3 ... Arithmetische Operatoren ... 91
7.4 ... Bitweise Arithmetik ... 92
7.5 ... Zuweisungsoperatoren ... 93
7.6 ... Post- und Präinkrement sowie Post- und Prädekrement ... 94
7.7 ... Relationale Operatoren ... 95
7.8 ... Logische Operatoren ... 95
7.9 ... Pointer- und Dereferenzierungsoperatoren ... 97
7.10 ... Besondere Operatoren ... 97
7.11 ... Funktionsähnliche Operatoren ... 99
7.12 ... Operatorreihenfolge ... 100
7.13 ... Aufgaben ... 101
8. Eingebaute Typen ... 103
8.1 ... Eingebaute Datentypen ... 105
8.2 ... Eingebaute Datentypen initialisieren ... 105
8.3 ... Ein schneller Überblick ... 106
8.4 ... Ganzzahlen ... 107
8.5 ... Wahrheitswerte ... 118
8.6 ... Zeichentypen ... 119
8.7 ... Aufgaben ... 122
9. Strings und Streams ... 124
9.1 ... Der Zeichenkettentyp 'string' ... 124
9.2 ... Streams ... 129
9.3 ... Eingabe- und Ausgabeoperatoren ... 130
9.4 ... Aufgaben ... 134
10. Behälter und Zeiger ... 135
10.1 ... Parametrisierte Typen ... 136
10.2 ... Die einfachen Sequenzcontainer ... 136
10.3 ... Weitere Container ... 141
10.4 ... Container-Gemeinsamkeiten ... 144
10.5 ... Algorithmen ... 145
10.6 ... Zeiger und C-Arrays ... 146
10.7 ... Aufgaben ... 147
11. Funktionen ... 148
11.1 ... Deklaration und Definition einer Funktion ... 149
11.2 ... Funktionstyp ... 150
11.3 ... Funktionen verwenden ... 150
11.4 ... Eine Funktion definieren ... 151
11.5 ... Mehr zu Parametern ... 152
11.6 ... Funktionskörper ... 156
11.7 ... Parameter umwandeln ... 158
11.8 ... Funktionen überladen ... 160
11.9 ... Default-Parameter ... 162
11.10 ... Beliebig viele Argumente ... 163
11.11 ... Alternative Schreibweise zur Funktionsdeklaration ... 164
11.12 ... Spezialitäten ... 165
11.13 ... Aufgaben ... 167
12. Anweisungen im Detail ... 169
12.1 ... Anweisungsblock ... 171
12.2 ... Die leere Anweisung ... 174
12.3 ... Deklarationsanweisung ... 175
12.4 ... Ausdrucksanweisung ... 176
12.5 ... Die if-Anweisung ... 176
12.6 ... 'while'-Schleife ... 179
12.7 ... 'do-while'-Schleife ... 180
12.8 ... 'for'-Schleife ... 181
12.9 ... Die bereichsbasierte 'for'-Schleife ... 182
12.10 ... Die 'switch'-Verzweigung ... 183
12.11 ... 'break'-Anweisung ... 187
12.12 ... Die 'continue'-Anweisung ... 188
12.13 ... Die 'return'-Anweisung ... 189
12.14 ... Die 'goto'-Anweisung ... 190
12.15 ... 'try-catch'-Block und 'throw' ... 192
12.16 ... Zusammenfassung ... 193
12.17 ... Aufgaben ... 193
13. Ausdrücke im Detail ... 196
13.1 ... Berechnungen und Seiteneffekte ... 197
13.2 ... Arten von Ausdrücken ... 198
13.3 ... Literale ... 199
13.4 ... Bezeichner ... 200
13.5 ... Klammern ... 201
13.6 ... Funktionsaufruf und Index-Zugriff ... 201
13.7 ... Zuweisung ... 201
13.8 ... Typumwandlung ... 203
13.9 ... Aufgaben ... 204
14. Fehlerbehandlung ... 205
14.1 ... Fehlerbehandlung mit Rückgabewerten ... 207
14.2 ... Was ist eine Ausnahme? ... 210
14.3 ... Kleinere Fehlerbehandlungen ... 213
14.4 ... Weiterwerfen -- 'rethrow' ... 213
14.5 ... Die Reihenfolge im 'catch' ... 214
14.6 ... Typen für Exceptions ... 216
14.7 ... Wenn eine Exception aus 'main' herausfällt ... 217
14.8 ... Aufgaben ... 217
15. Programmiertechnik, 2. Dan: Modularisierung ... 219
15.1 ... Programm, Bibliothek, Objektdatei ... 219
15.2 ... Bausteine ... 220
15.3 ... Trennen der Funktionalitäten ... 221
TEIL III Datenstrukturen ... 223
16. Erste eigene Datentypen ... 225
16.1 ... Initialisierung ... 226
16.2 ... Rückgabe eigener Typen ... 227
16.3 ... Methoden statt Funktionen ... 228
16.4 ... Das bessere 'drucke' ... 231
16.5 ... Eine Ausgabe wie jede andere ... 232
16.6 ... Methoden inline definieren ... 233
16.7 ... Implementierung und Definition trennen ... 234
16.8 ... Initialisierung per Konstruktor ... 235
16.9 ... Struktur oder Klasse? ... 241
16.10 ... Zusammenfassung ... 245
16.11 ... Aufgaben ... 245
17. Verwendung eigener Datentypen ... 248
17.1 ... Klassen als Werte verwenden ... 251
17.2 ... Konstruktoren nutzen ... 253
17.3 ... Typumwandlungen ... 254
17.4 ... Kapseln und entkapseln ... 256
17.5 ... Typen lokal einen Namen geben ... 260
17.6 ... Typdeduktion mit 'auto' ... 263
17.7 ... Eigene Klassen in Standardcontainern ... 266
17.8 ... Aufgaben ... 268
18. Namespace und Static ... 270
18.1 ... Der Namensraum 'std' ... 270
18.2 ... Anonymer Namensraum ... 274
18.3 ... 'static' macht lokal ... 275
18.4 ... 'static' teilt gern ... 276
18.5 ... 'static' macht dauerhaft ... 279
18.6 ... Zusammenfassung ... 281
18.7 ... Aufgaben ... 281
19. Const ... 284
19.1 ... Const-Parameter ... 285
19.2 ... Const-Methoden ... 286
19.3 ... Const-Variablen ... 288
19.4 ... Const-Rückgaben ... 289
19.5 ... Const-Korrektheit ... 296
19.6 ... Zusammenfassung ... 297
19.7 ... Aufgaben ... 298
20. Vererbung ... 300
20.1 ... Beziehungen ... 301
20.2 ... Vererbung in C++ ... 303
20.3 ... Hat-ein versus ist-ein ... 304
20.4 ... Gemeinsamkeiten finden ... 304
20.5 ... Abgeleitete Typen erweitern ... 307
20.6 ... Methoden überschreiben ... 308
20.7 ... Wie Methoden funktionieren ... 309
20.8 ... Virtuelle Methoden ... 310
20.9 ... Konstruktoren in...
Details
Erscheinungsjahr: | 2014 |
---|---|
Fachbereich: | Programmiersprachen |
Genre: | Informatik, Mathematik, Medizin, Naturwissenschaften, Technik |
Rubrik: | Naturwissenschaften & Technik |
Medium: | Buch |
Titelzusatz: | Einstieg in die moderne Programmierung mit C++ / Setzt keine Programmier-oder C-Kenntnisse voraus / Inkl.Objektorientierung, Standardbibliothek, Zeiger u.v.m |
Reihe: | Rheinwerk Computing |
Inhalt: | 520 S. |
ISBN-13: | 9783836226776 |
ISBN-10: | 3836226774 |
Sprache: | Deutsch |
Einband: | Gebunden |
Autor: | Will, Torsten T. |
Hersteller: | Rheinwerk Verlag GmbH |
Verantwortliche Person für die EU: | Rheinwerk Verlag GmbH, Rheinwerkallee 4, D-53227 Bonn, service@rheinwerk-verlag.de |
Maße: | 246 x 174 x 32 mm |
Von/Mit: | Torsten T. Will |
Erscheinungsdatum: | 27.10.2014 |
Gewicht: | 1,001 kg |
Sicherheitshinweis