C++ für Dummies (E-Book) von Arnold Willemer

C++ für Dummies
Der Artikel wird am Ende des Bestellprozesses zum Download zur Verfügung gestellt.

17,99 €* E-Book

ISBN-13:
9783527827459
Veröffentl:
2020
Einband:
E-Book
Seiten:
464
Autor:
Arnold Willemer
Serie:
...für Dummies
eBook Format:
EPUB
eBook-Typ:
Reflowable E-Book
Kopierschutz:
Adobe DRM [Hard-DRM]
Sprache:
Deutsch
Inhaltsverzeichnis

Einleitung 21

Über dieses Buch 21

Konventionen in diesem Buch 21

Törichte Annahmen über den Leser 21

Wie dieses Buch aufgebaut ist 22

Symbole, die in diesem Buch verwendet werden 23

Wie es weitergeht 24

Teil I: Wir programmieren25

Kapitel 1 Grundgerüst eines Programms27

Die Funktion main() 27

Kommentare 28

Ausgabe für Anfänger 29

Zahlenspielereien 30

Übungen 31

Kapitel 2 Variablen und Verarbeitung33

Variablendefinition 33

Namensregeln 35

Ganze Zahlen 36

Wir rechnen 37

Wertveränderungen 38

Ganzzahlige Literale 41

Zeichen 42

Fließkommazahlen 45

Symbolische Konstanten 46

Aufzählungstyp enum 47

Typen umtaufen 49

Fallstricke beim Umgang mit Typen 49

Überlauf 49

Typkonvertierung und Casting 51

Ganzzahlige Division 52

Automatische Typbestimmung 53

Zahlen ein- und ausgeben 53

Ausgabestrom 53

Formatierte Ausgabe 54

Eingabestrom aus cin 54

Übungen 55

Kapitel 3 Abfrage und Wiederholung57

Verzweigungen 57

Nur unter einer Bedingung: if 58

Andernfalls: else 58

Struktogramm 59

Dangling else 61

Fall für Fall: switch case 62

Bedingter Ausdruck: Fragezeichen 64

Boolesche Ausdrücke 65

Variablen und Konstanten 65

Operatoren 66

Verknüpfung von booleschen Ausdrücken 67

Immer diese Wiederholungen: Schleifen 71

Kopfgesteuert: while 71

Fußgesteuert: do while 75

Abgezählt: for 76

Der Sprung als Feind der Struktur 79

Der brutale Sprung: goto 80

Schleifenausbruch: break 81

Schleifenrücksprung: continue 82

Beispiel: Größter gemeinsamer Teiler 83

Mitmachbeispiel: Schleifende Hunde und Füchse 85

Übungen 86

Teil II: Datentypen und -strukturen89

Kapitel 4 Das Array91

Definition und Zugriff auf ein Array 91

Grenzen und Größen 93

Arrays lieben die for-Schleife 94

Lottozahlen sollten zufällig sein 95

Keine Doppelten beim Lotto 96

Sortierte Lottozahlen 99

Mehrere Dimensionen 102

Beispiel: Bermuda 103

Spielanleitung Bermuda 103

Spielfeld anzeigen 103

Die Schiffskoordinaten 105

Übungen 106

Kapitel 5 Zeiger und dessen Möglichkeiten109

Der Zeiger und die Adresse 109

Arrays und Zeiger 112

Zeigerarithmetik 113

Wettrennen zwischen Index und Zeiger 114

Klassische Zeichenketten 115

Addition und Subtraktion 116

Konstante Zeiger 116

Der Zeiger auf gar nichts: void* 117

Übungen 117

Kapitel 6 Variablenverbund struct 119

Ein Verbund mehrerer Variablen 119

Arrays von Strukturen 121

Zeiger auf Strukturen 121

Beispiel: Bermuda 123

Objekte dynamisch erzeugen und löschen: new und delete 124

Der Befehl new 124

Zur Laufzeit erzeugte Arrays 125

Verkettete Listen 126

Teil III: Funktionen131

Kapitel 7 Funktionen im Eigenbau133

Anweisungen zusammenfassen 133

Funktionsparameter 135

Ein Rückgabewert als Ergebnis 136

Prototypen 137

Noch ein paar Bemerkungen zu Parametern 138

Zeiger als Parameter 138

Arrays als Parameter 140

Die Parameter der Funktion main 144

Referenzparameter 145

Parameter vorbelegen 146

Variable Anzahl von Parametern 147

Überladen von Funktionen 148

Kurz und schnell: Inline-Funktionen 149

Kapitel 8 Hilfreiche Bibliotheksfunktionen151

Zufall 151

Mathematische Funktionen 153

Zeitfunktionen 155

Kapitel 9 Einsatz von Funktionen 159

Vermeidung doppelten Codes 159

Top-down-Design am Beispiel Bermuda 159

Vom Diagramm zum Listing 160

Die Daten und die Parameter 160

Initialisierung der Datenstrukturen 161

Benutzereingabe 162

Suche die Schiffe 162

Eintrag im Spielfeld 165

Ende des Spiels 165

Globale, lokale und statische Variablen 166

Globale Variablen 166

Lokale Variablen 167

Statische Variablen 167

Rekursion: Selbstaufrufende Funktionen 168

Fibonacci, die Kaninchen und der Goldene Schnitt 168

Einbindungen 170

Türme von Hanoi 171

Rückruf erwünscht: Der Funktionszeiger als Parameter 173

Anonym: Die Lambda-Funktion 175

Übungen 176

Teil IV: Zeichenketten177

Kapitel 10 Die Standardklasse string 179

Zeichenkettenliterale 179

Definieren und Zuweisen 180

Zugriff auf einzelne Zeichen 181

String-Funktionen 181

Länge des Strings 181

Verändern von String-Inhalten 181

Suche und Informationen 182

Umwandlung von Zahlen und Zeichenketten 183

Vergleiche 185

Ein- und Ausgabe von Strings 186

Umwandlung von string in ein char-Array 187

Kapitel 11 Das char-Array als Erbe von C189

Speichern im Array 189

Der Zeiger auf char 191

Die String-Bibliothek 192

Strings in Zahlen konvertieren 193

Zahlen in Strings konvertieren 194

Teil V: Klassen197

Kapitel 12 Am Beispiel zu Bruch gehen199

Die Klasse Bruch 199

Der Bruch hat eigene Funktionen 202

Initialisierung durch Konstruktoren 205

Konstruktor mit Parameter 207

Destruktor 209

Konstruktor und Destruktor bei Arrays 210

Konvertierungskonstruktor 210

Konvertierungsoperator 211

Private Attribute 212

Operatoren überladen 213

Wir multiplizieren mit dem Stern 213

Alle möglichen Operatoren 214

Besonderheiten bei Inkrement und Dekrement 216

Die Vergleichsoperatoren 217

Ausgabeoperatoren und Freunde 218

Der Indexoperator 220

Der Aufrufoperator () 222

Die Kopie von Zeigern in Klassen 222

Der Zuweisungsoperator 223

Kopierkonstruktor 224

Statische Variablen und Funktionen in Klassen 226

Statische Klassenattribute 226

Statische Methoden 227

Statische lokale Variable 228

Konstante Parameter und Funktionen 229

Übungen 230

Kapitel 13 Vererbung231

Basisklasse 232

Kompatibilität zur Basisklasse: »Ist ein« 234

Zugriff nur für Erben: protected 234

Zugriffsattribute der Vererbung 235

Konstruktorenvererbung 237

Kopierkonstruktor und Zuweisungsoperator 238

Mehrfachvererbung 238

Objektorientiertes Design für Bermuda 240

Die Koordinate 240

Das Schiff 241

Die Flotte 242

Das Spielfeld 245

Die Spielklasse Bermuda mit Mehrfachvererbung 247

Übungen 247

Kapitel 14 Polymorphie und virtuelle Funktionen 249

Die Mensa der Universität Norgaardholz 249

Ein Objekt weiß, was es tut: Polymorphie 252

Rückgriff auf die Basisklasse 253

Eine abstrakte Suppe 254

Die Mahlzeit als vollkommen abstrakte Klasse 255

Virtueller Destruktor 256

Polymorphie bei grafischen Oberflächen 257

Übungen 258

Teil VI: Fortgeschrittene Programmiertechniken261

Kapitel 15 Große Programmprojekte263

Aufteilung der Quelltexte 263

Implementierung und Schnittstelle 263

Doppelter Include 268

Zusammenbinden der Objektdateien 269

Projektsteuerung am Beispiel make 269

Header-Dateien und Schnittstellen 271

Deklaration und Definition 271

Einbinden von Header-Dateien 273

Bibliotheken 274

Eigene Bibliotheken erzeugen 274

Statische Bibliotheken einbinden 275

Dynamische Bibliotheken 276

Namensräume 278

Definition eines Namensraums 278

Zugriff 279

Besondere Namensräume 280

Kapitel 16 Katastrophenschutz: Fehler, Ausnahmen und Vorbedingungen281

Die klassische Fehlerbehandlung 281

Ausnahmebehandlung 283

try und catch 283

Eigene Ausnahmen werfen 284

Erstellen von Fehlerklassen 287

Die Ausnahmen der Standardbibliotheken 288

Vorbedingungen 290

assert 290

Der Compiler prüft 292

Kapitel 17 Intelligente Sammelbehälter293

Charakterlose Daten 293

Generische Programmierung 295

Template-Funktionen 296

Template-Klassen 299

Die Container-Klasse vector 302

Dynamik 303

Kapazität und Größe 305

Grenzüberschreitung 306

Iteratoren als Zeigerersatz 307

Methoden des Vektors 309

Die Container-Klasse deque 310

Die Container-Klasse list 312

Sortieren einer Liste: sort 313

Eine Liste in eine andere einsortieren: merge 315

Alles umdrehen: reverse 316

Mengen-Container: set 317

Löschen aus dem Set 317

Suchen und Sortieren 318

Sortierreihenfolge 318

Der assoziative Container map 319

Container-Adapter 321

Der Container-Adapter stack 321

Der Container-Adapter queue 322

Iteratortypen 323

Die Algorithmen der STL 324

Suchen: find 325

Sortieren 326

Binäres Suchen 327

Kopieren: copy 327

Umdrehen: reverse 328

Füllen: fill 329

equal 329

Funktionsobjekt als Parameter: find_if 329

for_each 332

Vereinigung und Durchschnitt 333

Die Template-Klasse bitset 335

Teil VII: Dauerhaftes Ablegen von Daten337

Kapitel 18 Ein- und Ausgabe in Dateien 339

Formatierte Ausgabe im Datenstrom 339

Ausgabestrom ausrichten 340

Dateioperationen mit fstream 344

Öffnen und Schließen 345

Lesen und Schreiben sequenzieller Daten 346

Binäre Daten blockweise verarbeiten 350

Problembehandlung 353

Exceptions 354

Dateizugriffe nach ANSI-C 355

Kapitel 19 Datenbanken361

Objektorientierter portabler Zugang: CppDB 363

Installation 363

Einbindung 363

Verbindungsaufname zur Datenbank 364

SQL-Befehle übergeben 365

Auslesen mit SELECT 366

Beispielhafte Person 366

Datenbankbibliothek SQLite 369

Einrichtung 369

Programmieren mit SQLite 370

Tabelle erzeugen und mit Daten füllen 371

Auslesen der Daten 373

Teil VIII: Grafische Fensterprogramme GUI377

Kapitel 20 Grafische Oberflächen379

Kapitel 21 C-API am Beispiel Win32381

Hauptprogramm 382

Die Fensterfunktion WndProc 382

Mausverhalten 384

Kontrollelemente 384

Bermuda in Win32 385

Kapitel 22 Objektorientiert mit wxWidgets391

Installation von wxWidgets 391

wxWidgets für Linux einrichten 392

wxWidgets für Windows und Mac beschaffen 392

Ein wxWidgets-Programm erstellen 393

Code::Blocks unter Linux und Windows 394

Ein minimales xwWidgets-Programm 395

Grafik 396

Grafische Kontroll- und Eingabeelemente 398

Layout 400

BoxSizer 400

GridSizer 401

FlexGridSizer 402

Die Kombination mehrerer Layouts 402

Bermuda in der wxWidgets-Version 403

Kapitel 23 Qt409

Geschichte eines portablen Frameworks 409

Installation 410

Linux 410

Windows und Mac 410

Ein Qt-Widgets-Projekt 410

Der Qt-Designer 412

Teil IX: Programmierumgebung415

Kapitel 24 Compiler beschaffen und einrichten417

Der GNU-C++-Compiler 417

Der GNU-C++-Compiler unter Linux 417

Der GNU-C++-Compiler unter MS Windows 418

Microsoft Visual Studio 418

Projekt erstellen 419

Windows Desktopassistent 421

Code::Blocks 421

Linux 422

Windows 422

Der Aufbau von Code::Blocks 422

Ein Projekt anlegen 423

Übersetzen und starten 424

Eclipse als C++-Umgebung 424

Anlegen eines Projekts 425

Generieren und ausführen 425

NetBeans 425

Linux 426

Windows 426

Ein C++-Projekt erzeugen 427

Kapitel 25 Programmierwerkzeuge429

Der Compiler und der Linker 429

Compiler-Aufruf 429

Compiler-Optionen 430

Fehlermeldungen 431

Der Präprozessor 432

Einbinden von Dateien: #include 433

Konstanten und Makros: #define 433

Abfragen: #if 435

Auf Fehlersuche mit dem Debugger 437

Debuggen in der IDE 437

Konsolen-Debug 438

Versionsverwaltungen 439

Arbeitsweise 439

Subversion 441

Git 443

Teil X: Der Top-Ten-Teil445

Kapitel 26 10 Gründe, warum Sie C++einsetzen wollen 447

Sie wollen native Programme schreiben 447

Sie wollen sehr schlanke Programme schreiben 447

Das Programm soll schnell starten 447

Das Programm soll schnell laufen 447

Das Programm soll direkt an eine API ankoppeln 448

Sie wollen verhindern, dass jemand Ihren Source Code

aus der ausführbaren Datei rekonstruiert 448

Sie müssen ganz dicht an die Maschine heran 448

Sie mögen keine ideologischen Vorschriften 448

Sie müssen sehr vertrackte Datenstrukturen auslesen 449

Sie lieben das Hashtag-Zeichen 449

Kapitel 27 Die 10 beliebtesten C++-Fehler451

Sie benutzen beim n-dimensionalen Array n als Index 451

Ihre Schleife läuft ewig, weil Ihre Bedingung falsch formuliert ist 451

Ihre Schleife läuft ewig, weil sich die Variable, die für die Bedingung geprüft wird, im Schleifenkorpus nie ändert 451

Sie haben direkt hinter der Klammer von if/while/for ein Semikolon gesetzt 452

Sie haben vergessen, den #include zu setzen, und wundern sich, warum die Bezeichner unbekannt sind 452

Sie arbeiten mit deutschen Umlauten und verwenden kein unsigned char 452

Sie haben delete aufgerufen, aber den Zeiger anschließend nicht auf nullptr gesetzt 452

Sie verwenden häufiger new als delete 453

Ihre Klasse enthält ein Zeigerattribut, aber es fehlt der Copy-Konstruktor und der Zuweisungsoperator 453

Sie verwechseln es mit Java 453

Stichwortverzeichnis 457

Beschreibung
Die Programmierung mit C++ muss nicht schwer sein. Mit diesem Buch werden Sie schon ab dem ersten Kapitel eigene Programme schreiben und die C++-Syntax von der Pike auf lernen, verstehen und anwenden. Arnold Willemer erklärt Ihnen, wie Sie Code zu Modulen zusammenfassen, die Sie immer wieder verwenden können, und schon bald werden Sie wissen, wie man Variablen deklariert und mathematische Operationen ausführt. So ist dies das richtige Buch für Ihren Einstieg in C++.
Autor
Arnold Willemer ist Programmierer und Administrator mit mehr als zwanzig Jahren Berufserfahrung. Er hat mehrere erfolgreiche Computer-Bücher geschrieben, die sich durch ihre Verständlichkeit und ihren lockeren Stil auszeichnen.

 

Schlagwörter zu:

C++ für Dummies von Arnold Willemer - mit der ISBN: 9783527827459

C++; Computer; Informatik; PC; Programmieren; Programmierung; Programmierung / C u. C++, Online-Buchhandlung


 

Kunden Rezensionen: C++ für Dummies | Buch oder eBook | Arnold Willemer

Zu diesem Artikel ist noch keine Rezension vorhanden.
Helfen sie anderen Besuchern und verfassen Sie selbst eine Rezension.


 

Kunden, die sich für: "C++ für Dummies" von Arnold Willemer als Buch oder eBook

interessiert haben, schauten sich auch die folgenden Bücher & eBooks an: