Produktbild: C++ für Dummies

C++ für Dummies

Aus der Reihe ... für Dummies

Fr. 29.90

inkl. MwSt, zzgl. Versandkosten

  • Kostenlose Lieferung ab Fr. 30 Einkaufswert Mehr erfahren

    Schweiz & Liechtenstein:

    Versandkostenfrei ab Fr. 30.00
    Versandkosten bis Fr. 30.00: Fr. 3.50

    Andere Lieferländer

    Fr. 18.00 unabhängig vom Warenwert

Beschreibung

Details

Einband

Taschenbuch

Erscheinungsdatum

03.06.2020

Verlag

Wiley-VCH

Seitenzahl

464

Maße (L/B/H)

23.8/18.1/2.7 cm

Gewicht

795 g

Auflage

8. Auflage

Sprache

Deutsch

ISBN

978-3-527-71747-7

Beschreibung

Details

Einband

Taschenbuch

Erscheinungsdatum

03.06.2020

Verlag

Wiley-VCH

Seitenzahl

464

Maße (L/B/H)

23.8/18.1/2.7 cm

Gewicht

795 g

Auflage

8. Auflage

Sprache

Deutsch

ISBN

978-3-527-71747-7

Herstelleradresse

Wiley-VCH GmbH
Boschstraße 12
69469 Weinheim
DE

Email: wiley.buha@zeitfracht.de

Weitere Bände von ... für Dummies

Unsere Kundinnen und Kunden meinen

0.0

0 Bewertungen

Informationen zu Bewertungen

Zur Abgabe einer Bewertung ist eine Anmeldung im Konto notwendig. Die Authentizität der Bewertungen wird von uns nicht überprüft. Wir behalten uns vor, Bewertungstexte, die unseren Richtlinien widersprechen, entsprechend zu kürzen oder zu löschen.

Verfassen Sie die erste Bewertung zu diesem Artikel

Helfen Sie anderen Kund*innen durch Ihre Meinung

Erste Bewertung verfassen

Unsere Kundinnen und Kunden meinen

0.0

0 Bewertungen filtern

Weitere Artikel finden Sie in

Die Leseprobe wird geladen.
  • Produktbild: C++ für Dummies
  • 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 programmieren 25

    Kapitel 1 Grundgerüst eines Programms 27

    Die Funktion main() 27

    Kommentare 28

    Ausgabe für Anfänger 29

    Zahlenspielereien 30

    Übungen 31

    Kapitel 2 Variablen und Verarbeitung 33

    Variablendefinition 33

    Namensregeln 35

    Ganze Zahlen 36

    Wir rechnen 37

    Wertveränderungen 38

    Ganzzahlige Literale 41

    Zeichen 42

    Fliesskommazahlen 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 Wiederholung 57

    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

    Fussgesteuert: 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össter gemeinsamer Teiler 83

    Mitmachbeispiel: Schleifende Hunde und Füchse 85

    Übungen 86

    Teil II: Datentypen und -strukturen 89

    Kapitel 4 Das Array 91

    Definition und Zugriff auf ein Array 91

    Grenzen und Grössen 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öglichkeiten 109

    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: Funktionen 131

    Kapitel 7 Funktionen im Eigenbau 133

    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 Bibliotheksfunktionen 151

    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: Zeichenketten 177

    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 C 189

    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: Klassen 197

    Kapitel 12 Am Beispiel zu Bruch gehen 199

    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 Vererbung 231

    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 weiss, 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 Programmiertechniken 261

    Kapitel 15 Grosse Programmprojekte 263

    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 Vorbedingungen 281

    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älter 293

    Charakterlose Daten 293

    Generische Programmierung 295

    Template-Funktionen 296

    Template-Klassen 299

    Die Container-Klasse vector 302

    Dynamik 303

    Kapazität und Grösse 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 Daten 337

    Kapitel 18 Ein- und Ausgabe in Dateien 339

    Formatierte Ausgabe im Datenstrom 339

    Ausgabestrom ausrichten 340

    Dateioperationen mit fstream 344

    Öffnen und Schliessen 345

    Lesen und Schreiben sequenzieller Daten 346

    Binäre Daten blockweise verarbeiten 350

    Problembehandlung 353

    Exceptions 354

    Dateizugriffe nach ANSI-C 355

    Kapitel 19 Datenbanken 361

    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 GUI 377

    Kapitel 20 Grafische Oberflächen 379

    Kapitel 21 C-API am Beispiel Win32 381

    Hauptprogramm 382

    Die Fensterfunktion WndProc 382

    Mausverhalten 384

    Kontrollelemente 384

    Bermuda in Win32 385

    Kapitel 22 Objektorientiert mit wxWidgets 391

    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 Qt 409

    Geschichte eines portablen Frameworks 409

    Installation 410

    Linux 410

    Windows und Mac 410

    Ein Qt-Widgets-Projekt 410

    Der Qt-Designer 412

    Teil IX: Programmierumgebung 415

    Kapitel 24 Compiler beschaffen und einrichten 417

    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 Programmierwerkzeuge 429

    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-Teil 445

    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++-Fehler 451

    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 anschliessend 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