Nicht aus der Schweiz? Besuchen Sie lehmanns.de

C++

Buch | Softcover
559 Seiten
2002
C & L (Verlag)
978-3-936546-01-9 (ISBN)
CHF 41,85 inkl. MwSt
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
Wolfgang Soltendick
C++ lernen und verstehen
Die Sprache und ihre Strukturen
Moderne Softwareentwicklung findet größtenteils in C++ statt. Der Grund dafür ist die Mächtigkeit dieser Programmiersprache. Mit der Vielzahl der Möglichkeiten geht aber auch eine entsprechende Komplexität einher. Aus diesem Grund hat C++ den Ruf, schwer erlernbar zu sein. Daß dem nicht so sein muß, zeigt dieses Buch. Es ist eine verständlich aufgebaute Einführung in die Sprache für jeden, der gerade erste Schritte in der Programmierung macht.
Der Autor erklärt Schritt für Schritt alle wichtigen Sprachelemente von C++ und die Konzepte der objektorientierten Programmierung anhand von Beispielen. Begonnen wird mit dem grundlegenden Aufbau eines Programms, woran sich die Beschreibungen von Entscheidungs- und Schleifenkonstruktionen anschließen. Danach folgen die Erläuterungen von Datenstrukturen und Funktionen. Letztere werden zu Klassen zusammengefügt, mit denen der Bogen zur objektorientierten Sichtweise gespannt wird. Die Vorstellung von Vektoren, die eine besonders einfache Zugriffsmöglichkeit für die Verwaltung von Daten bieten, der Einsatz von Zeigern, virtuelle Funktionen und der Einsatz des this-Zeigers sind weitere Themen. Datenströme zum Einlesen und Abspeichern von Eingaben werden ausführlich besprochen. Die Vererbung von Eigenschaften und Ableitung von Klassen, einer der Grundpfeiler der objektorientierten Programmierung, wird ausführlich in allen Facetten diskutiert. Im vorletzten Kapitel erfährt der Leser näheres über Befehlszeilenargumente, mit denen beim Aufruf eines Programms Informationen von der Kommandozeile übernommen werden. Der Fehlerbehandlung, also der Programmierung von Exceptions, ist das letzte Kapitel gewidmet.
Das Buch ist sehr gut für das Selbststudium oder als Ergänzung zu einem Kurs geeignet, denn jedes Kapitel schließt mit Programmieraufgaben zu den besprochenen Themen ab, die Lösungen sind im Anhang des Buchs abgedruckt.
Die Themen:
Grundlagen des Umgangs mit Visual C++ und Borland C++ Builder
Programmaufbau und Schleifenkonstruktionen
Datenstrukturen und Funktionen
Aufbau und Ableitung von Klassen
Vektoren und Felder als Sammlung von Daten
Zeiger und Zeigerkonstruktionen
Virtuelle Funktionen und this-Zeiger
Das Vererbungsmodell
Der Einsatz von Datenströmen
Fehlerbehandlung mit Exceptions

1;Inhalt;6
2;Vorwort;16
3;1 Einführung in die C++-Programmierung;18
3.1;1.1 Compiler-Aufrufe;18
3.1.1;1.1.1 Borland C++ Builder;18
3.1.2;1.1.2 Microsoft Visual C++;20
3.1.3;1.1.3 Linux;23
3.2;1.2 Zusammenfassung;25
4;2 Einführung;26
4.1;2.1 Prozedurale Sprachen;26
4.2;2.2 Objektorientierte Sprachen;27
4.3;2.3 Hauptelemente objektorientierter Sprachen;28
4.3.1;2.3.1 Objekte;28
4.3.2;2.3.2 Klassen;29
4.3.3;2.3.3 Vererbung;29
4.3.4;2.3.4 Wiederverwendbarkeit;29
4.3.5;2.3.5 Neue Datentypen;30
4.3.6;2.3.6 Polymorphismus;30
4.3.7;2.3.7 Überlagerung;30
4.4;2.4 Zusammenfassung;31
5;3 Grundlagen der Sprache C++;32
5.1;3.1 Der Programmaufbau;32
5.1.1;3.1.1 Präprozessorbefehle;32
5.1.2;3.1.2 Leerzeilen und Zwischenräume;33
5.1.3;3.1.3 Funktionen;33
5.1.4;3.1.4 Anweisungen;34
5.2;3.2 Die Ausgabe des Programms;35
5.3;3.3 Kommentare;36
5.4;3.4 Variablen;37
5.4.1;3.4.1 Ganzzahlige Variablen;37
5.4.2;3.4.2 Gleitkommavariablen;40
5.4.3;3.4.3 Konstanten;41
5.4.4;3.4.4 Zeichenvariablen;41
5.4.5;3.4.5 Übersicht;42
5.4.6;3.4.6 Typumwandlungen;45
5.5;3.5 Escape-Sequenzen;48
5.6;3.6 Operatoren zur Manipulation der Ausgabe;49
5.7;3.7 define;51
5.8;3.8 Die Eingabe;52
5.9;3.9 Arithmetische Operatoren;53
5.9.1;3.9.1 Grundoperatoren;53
5.9.2;3.9.2 Restoperator;54
5.9.3;3.9.3 Zuweisungsoperatoren;55
5.9.4;3.9.4 Inkrement- und Dekrementoperator;55
5.10;3.10 Bibliotheksfunktionen;58
5.11;3.11 Zusammenfassung;60
5.12;3.12 Aufgaben;61
6;4 Entscheidungen;62
6.1;4.1 Operatoren für Vergleiche;62
6.2;4.2 Die if-Anweisung;64
6.3;4.3 Die if..else-Anweisung;66
6.4;4.4 Die switch-Anweisung;70
6.5;4.5 Der Bedingungsoperator;72
6.6;4.6 Logikoperatoren;73
6.6.1;4.6.1 Der logische UND-Operator;74
6.6.2;4.6.2 Der logische ODER-Operator;75
6.6.3;4.6.3 Der logische NICHT-Operator;75
6.6.4;4.6.4 Bewertungsreihenfolge;77
6.7;4.7 Zusammenfassung;78
6.8;4.8 Aufgaben;79
7;5 Schleifen;80
7.1;5.1 Die for-Schleife;80
7.2;5.2 Die while-Schleife;89
7.3;5.3 Die do..while-Schleife;92
7.4;5.4 Hinweise zum Einsatz der Schleifen;94
7.5;5.5 Anweisungen zur Schleifensteuerung;95
7.5.1;5.5.1 Die Anweisung break;95
7.5.2;5.5.2 Die Anweisung continue;98
7.5.3;5.5.3 Die Anweisung goto;100
7.6;5.6 Zusammenfassung;100
7.7;5.7 Aufgaben;101
8;6 Strukturen und Aufzählungen;102
8.1;6.1 Strukturen;102
8.1.1;6.1.1 Die erste Struktur;103
8.1.2;6.1.2 Die Beschreibung einer Struktur;104
8.1.3;6.1.3 Die Definition der Struktur;104
8.1.4;6.1.4 Der Zugriff auf die Komponenten;105
8.1.5;6.1.5 Weitere Eigenschaften;106
8.1.6;6.1.6 Ein weiteres Beispiel;110
8.1.7;6.1.7 Addition zweier Strukturen;111
8.1.8;6.1.8 Strukturen innerhalb von Strukturen;112
8.1.9;6.1.9 Ausblick;115
8.2;6.2 Der Aufzählungstyp;115
8.2.1;6.2.1 Monate;115
8.2.2;6.2.2 Ein boolescher Datentyp;117
8.2.3;6.2.3 Zahlenwert zuweisen;120
8.2.4;6.2.4 Ausgabe;121
8.3;6.3 Zusammenfassung;122
8.4;6.4 Aufgaben;123
9;7 Funktionen;124
9.1.1;7.1.1 Das Programm;124
9.1.2;7.1.2 Die Deklaration der Funktion;125
9.1.3;7.1.3 Aufruf der Funktion;126
9.1.4;7.1.4 Die Definition der Funktion;126
9.1.5;7.1.5 Bibliotheksfunktionen;127
9.1.6;7.1.6 Funktionen ohne separate Deklaration;127
9.2;7.2 Übergabe von Argumenten;129
9.2.1;7.2.1 Konstanten;129
9.2.2;7.2.2 Variablen;131
9.2.3;7.2.3 Strukturen;133
9.3;7.3 Rückgabewerte;135
9.3.1;7.3.1 Das Programm;136
9.3.2;7.3.2 Die Anweisung "return";137
9.3.3;7.3.3 Strukturen als Rückgabewerte;139
9.4;7.4 Referenzen;141
9.4.1;7.4.1 Übergabe einfacher Datentypen;142
9.4.2;7.4.2 Übergabe von Strukturen;147
9.4.3;7.4.3 Weitere Anmerkungen;148
9.5;7.5 Überlagerte Funktionen;150
9.5.1;7.5.1 Unterschiedliche Parameteranzahl;150
9.5.2;7.5.2 Unterschiedliche Parametertypen;152
9.6;7.6 Inline-Funktionen;155
9.7;7.7 Standardargumente;157
9.8;7.8 Speicherklassen;159
9.8.1;7.8.1 Automatische Variablen;159
9.8.2;7.8.2 Externe Variablen;162
9.8.3;7.8.3 Statische Variablen;164
9.8.4;7.8.4 Übersicht;167
9.9;7.

2 Einführung (S. 25-26) In diesem Buch soll es um die Einführung in eine objektorientierte Programmsprache mit dem Namen C++ gehen. Doch wozu benötigt man überhaupt eine objektorientierte Sprache, denn die ersten Windows- Systeme und auch der Linux-Kernel sind nicht damit programmiert? Was hat C++ für Vorteile und was bedeuten die in Zusammenhang immer benutzen Begriffe Vererbung, Objekte und Klassen? Die Antworten stehen in diesem Buch in den nachfolgenden Kapiteln. 2.1 Prozedurale Sprachen Zu den prozeduralen Sprachen gehören beispielsweise C und Pascal. In diesen wird durch jedem Befehl dem Computer mitgeteilt, was er zu tun hat, wie beispielsweise eine Berechnung auszuführen oder das entsprechende Ergebnis auszugeben. Aus diesem Grund enthält bei kleinen Programmen jede Zeile eine Anweisung, die Zeilen werden nacheinander abgearbeitet. In größeren Programmen dagegen werden einzelne Programmteile in Funktionen ausgelagert, die dann an bestimmten Stellen aufgerufen werden. Damit soll das Programm lesbarer werden, was sicherlich auch der Fall ist, wenn die Funktionen sinnvoll gegliedert sind. Wenn man mehrere Funktionen zusammenfaßt, faßt man sie in sogenannte Module zusammen. Sie lassen sich getrennt vom restlichen Programm übersetzen, so daß man mit ihnen Bibliotheken, bestehend aus Funktionen, realisieren kann. Bietet der Compiler die Möglichkeit, sie in das eigene Programm einzubinden, steht einem modularen Aufbau nichts mehr im Wege. Damit werden die Grundkonzepte der modularen Programmierung eingehalten. Allerdings stößt auch sie an ihre Grenzen, wenn die Programmme größer und komplexer werden. Bei diesem Typ von Programmiersprachen liegt das Hauptaugenmerk auf den Anweisungen, die beschreiben, was alles zu erledigen ist. Die Daten spielen dabei eine eher untergeordnete Rolle, obwohl sie es sind, mit denen die einzelnen Funktionen etwas ausführen. Denn ohne Daten würden beispielsweise die Funktionen zur Verwaltung ins Leere laufen, das heißt, sie kommen nicht ohne aus. Die Daten werden mit den Funktionen eingelesen, ausgewertet und auch ausgegeben. Aber wie können die Daten beschaffen sein? Häufig werden die Daten in globalen Variablen innerhalb des Programms festgelegt. Das Wort global bedeutet dabei, daß die Variablen außerhalb der Funktionen in einem Programm deklariert werden. Damit sind sie für alle Funktionen sichtbar, die auf sie dann zugreifen. Doch es sind in prozeduralen Sprachen auch lokale Variablen vorhanden, die in den jeweiligen Funktionen deklariert werden. Diese sind nur in der jeweiligen Funktion sichtbar, so daß andere auf sie nicht zugreifen können. Der Hauptgrund, warum man schließlich zum Einsatz der objektorientierten Sprachen übergegangen ist, besteht letztendlich darin, daß sie die Wirklichkeit besser abbilden. Allerdings funktioniert das nur zufriedenstellend, wenn der Programmierer zu diesem Schritt in der Lage ist und den richtigen Ansatz gewählt hat. 2.2 Objektorientierte Sprachen Wie zuvor angedeutet, soll der objektorientierte Ansatz die Wirklichkeit besser abbilden können. In diesem Konzept werden die Daten und die damit arbeitenden Funktionen zu einer Einheit zusammengefaßt. Diese wird als Objekt bezeichnet. Die in einem Objekt enthaltenen Funktionen werden auch als Komponentenfunktionen oder Methoden bezeichnet. Sie sind in der Regel die einzigen Funktionen, mit deren Hilfe man auf die Daten zugreifen kann. Das bedeutet andererseits, daß die Daten so geschützt beziehungsweise verborgen sind, daß sie nicht unbeabsichtigt geändert werden können, dazu muß man eine entsprechende Funktion aufrufen. Die Daten sind also im Objekt eingekapselt. In einem C++-Programm gibt es in der Regel mehrere unterschiedliche Objekte, die gegenseitig die Komponentenfunktionen der jeweils anderen Objekte aufrufen. Wie das erfolgt, hängt natürlich vom jeweiligen Anwendungszweck

Maße 165 x 240 mm
Gewicht 920 g
Einbandart Paperback
Themenwelt Informatik Programmiersprachen / -werkzeuge C / C++
Schlagworte C++ • C++ (Programmiersprache) • Programmiersprachen
ISBN-10 3-936546-01-0 / 3936546010
ISBN-13 978-3-936546-01-9 / 9783936546019
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Das umfassende Handbuch

von Torsten T. Will

Buch | Hardcover (2024)
Rheinwerk (Verlag)
CHF 69,85
Technisch-wissenschaftliche Übungsaufgaben mit Lösungen

von Thomas Hoch; Gerd Küveler

Buch | Softcover (2023)
Springer Vieweg (Verlag)
CHF 53,15
das umfassende Handbuch

von Jürgen Wolf; René Krooß

Buch | Hardcover (2023)
Rheinwerk (Verlag)
CHF 69,85