C++ für Dummies. Stephen R. Davis. Gegen den täglichen Frust mit C++ Übersetzung aus dem Amerikanischen: Judith Muhr.
|
|
- Wilhelmine Adenauer
- vor 6 Jahren
- Abrufe
Transkript
1 Stephen R. Davis C++ für Dummies Gegen den täglichen Frust mit C++ Übersetzung aus dem Amerikanischen: Judith Muhr IWT Verlag GmbH An International Thomson Publishing Company Bonn Albany Belmont Boston Cincinnati Detroit London Madrid Melbourne Mexico City New York Paris Singapore Tokyo
2 4 4 - INHALT Einführung 19 Teil I Grundlagen: Der Rückblick auf C 17 1 C - wie die alten Römer schon sagten 29 Deklaration einfacher Variablen 30 Speicherklassen 32 Globale Variablen 32 Lokale Variablen 33 Funktionsdeklaration 34 Alles Wissenswerte über C-Ausdrücke 36 Einfache Operatoren 37 Mathematische Operatoren 39 Bitweise Opertoren 40 Logische Operatoren 40 Zuweisungsoperatoren 42 Sonstige Operatoren 43 Ein paar Besonderheiten 44 Resümee 45 2 Zeiger in C 47 Deklaration und Verwendung einfacher Zeiger 47 Service-Provider im Internet 47 Was finden Sie in diesem Kapitel? 47 Zeigeroperationen 50 Inkrementieren von Zeigern 50 Andere Zeigeroperationen. 52 Arrays und Zeiger: Wie bringt man sie zusammen? 52 Die Übergabe von Zeigern an Funktionen 54 Zeiger auf Funktionen 55 7
3 C++ für Dummies Heap-Speicher 56 Resümee 58 Service-Provider im Internet 59 Was finden Sie in diesem Kapitel? 59 3 Benutzerdefinierte Typen: Die C-Struktur 59 C-Strukturen 59 Zeiger auf C-Strukturen 61 Operationen für Zeiger auf Strukturen 62 Verwendung von Zeigern auf Strukturen 63 Strukturen und Funktionen 64 Allozierung von Strukturen vom Heap 65 Resümee 66 Die C-Version unseres Budget-Programms: BUDGET 1.C Minuten-Test 77 Die Lösungen 79 Teil II Aufwärmen: Die nichtobjektorientierten Features von C Der Einstieg in C++ 85 Wie alles kam? 85 Die frühen Jahre ( ) 86 Die funktionalen Jahre ( ) 86 Die strukturierten Jahre ( ) 86 Die objektorientierten Jahre ( heute) 87 Warum C++? 88 Resümee 89 8
4 Inha Ein paar ganz einfache Dinge 91 Ein neuer Kommentarstil 91 Wozu ist das gut? 91 Wie funktioniert das? 92 Variablendeklarationen an beliebiger Stelle 93 Wozu ist das gut? 93 Wie funktioniert das? 93 Konstante Variablen 96 Wozu ist das gut? 96 Wie funktioniert das? 97 Volatile-Variablen 99 Wozu ist das gut? 100 Wie funktioniert das? 100 Der referentielle Typbezeichner 102 Wozu ist das gut? 103 Wie funktioniert das? 103 Resümee 106 Darf ich vorstellen: Funktionen 107 Funktionsprototypen 107 Wozu ist das gut? 108 Warum soll ich mich vom Compiler nerven lassen? 109 Wie funktioniert das? 111 Inline-Funktionen 114 Wozu ist das gut? 114 Geht das nicht auch in C? 115 Wie funktioniert das? 116 Wieviel schneller ist schneller? 117 Überladen von Funktionen 120 Wozu ist das gut? 121 Wie funktioniert das? 121 Was heißt»ausreichend unterschiedlich«? 123 Was ist also»nicht ausreichend unterschiedlich«? 123 Drucken Sie, was Sie wollen, aber bringen Sie nichts mit den Namen durcheinander 124
5 C++ für Dummies Defaultargumente für Funktionen 126 Wozu ist das gut? 127 Wie funktioniert das? 127 Argumentativ überladen Resümee Ein- und Ausgaben über den Stream 131 Wozu brauche ich Streams, nachdem ich mich gerade an printfo gewöhnt habe? 131 Der Fall Stream-I/O: Teil Der Fall Stream-I/O: Teil Wie funktioniert Stream-I/O? 133 Resümee 136 BUDGET als C++-Programm: BUDGET2.CPP Minuten-Test 145 Die Lösungen 147 Teil III Reinschnuppern: Einführung von Klassen Objektorientierte Programmierung 153 Abstraktion und Mikrowellen 153 Funktionale Hamburger 155 Objektorientierte Hamburger 155 Klassifizierung und Mikrowellen 156 Funktionale Klassifizierung 157 Objektorientierte Klassifizierung 157 Wozu klassifizieren? 157 Objektorientierte Programmierung und Effizienz 160 Resümee
6 Inha Klassen in C Wozu braucht man Klassen in C++? 164 Wie kann man in C++ Klassen erzeugen? 165 Benennung von Elementfunktionen 166 Definition einer Elementfunktion in einer Klasse 168 Elementfunktion außerhalb einer Klasse 169 Aufruf einer Elementfunktion 171 Aufruf einer Elementfunktion mit einem Zeiger? 172 Zugriff auf Elemente aus einer Elementfunktion 173 Überladene Elementfunktionen 175 Resümee 176 Bitte nicht stören: Geschützte Elemente 177 Durch protected geschützte Elemente 177 Wozu ist das gut? 177 Wie funktioniert das? 179 Nochmal, warum soll man protected-elemente benutzen? 181 Die Klasse kann ihren internen Status schützen 181 Es ist einfacher, eine Klasse mit eingeschränkter Schnittstelle zu verwenden 182 Es ist einfacher, eine Klasse mit eingeschränkter Schnittstelle zu unterstützen 183 Wozu hat man denn Freunde? 188 Wozu brauche ich Freunde (schließlich bin ich eine Insel)? 188 Wie funktioniert das? 189 Resümee 192 Dem Objekt einen guten Start verpassen: Der Konstruktor 193 Objekte erzeugen 193 Konstruktoren 196 Wozu ist das gut? 196 Wie funktioniert das? 198 Der Destruktof 202
7 C++ für Dummies Wozu ist das gut? 202 Wie funktioniert das? 203 Resümee Die Klassengesellschaft 207 Objektorientierte Analyse und Design 207 Ein Beispiel für Analyse und Design 208 Schnelle Analyse und Design: Ein strukturierter Ansatz 209 Schnelle Analyse und Design: Ein objektorientierter Ansatz 210 Eine OO-Lösung für unser Problem 213 Resümee 216 Ein Budget mit Klasse: BUDGET3.CPP Minuten-Test 226 Die Lösung 227 Teil IV Reinspringen: Die Gewöhnung an Klassen Konstruktive Argumente erzeugen 239 Konstruktoren mit Argumenten 239 Wozu ist das gut? 240 Wie funktioniert das? 241 Überladen des Konstruktors 244 Default-Defaultkonstruktoren 247 Konstruktion von Klassenelementen 250 Konstruktionsreihenfolge 256 Lokale Objekte werden in der Reihenfolge konstruiert Statische Objekte werden nur einmal konstruiert 257 Alle globalen Objekte werden vor main() konstruiert 258 Globale Objekte werden in keiner bestimmten Reihenfolge konstruiert
8 Inha Elemente werden in der Reihenfolge konstruiert, in der sie deklariert werden 261 Destruktoren werden in der umgekehrten Reihenfolge der Konstruktoren aufgerufen Resümee Noch mehr neue und verbesserte Schlüsselwörter Die neuen Schlüsselwörter: new und delete Wozu ist das gut? Wie funktioniert das? Die Allozierung von Arrays Resümee Der Copy-Konstruktor Der Copy-Konstruktor Wozu ist das gut? Wie funktioniert das? Der automatische Copy-Konstruktor Flache Kopien versus tiefe Kopien Es ist ein langer Weg zu temporären Objekten Resümee Andern des Objekttyps Namenlose Objekte Wozu ist das gut? Wie funktioniert das? Typumwandlung mit Hilfe von Konstruktoren Resümee Statische Elemente: Kann Weichspüler helfen? Statische Datenelemente Wozu ist das gut? Wie funktioniert das? Referenzieren von statischen Datenelementen
9 C++ für Dummies Verwendungsmöglichkeiten statischer Datenelemente 296 Statische Elementfunktionen 298 Resümee 302 Verwaltung eines zweckmäßigeren Budgets: BUDGET4.CPP Minuten-Test 313 Die Lösungen 315 Teil V Endspurt: Vererbung Vererbung 321 Wozu ist die Vererbung gut? 322 Wie funktioniert die Vererbung? 324 Konstruktion einer Unterklasse 326 Die HAS_A-Beziehung 328 Resümee Virtuelle Elementfunktionen 331 Wozu ist Polymorphismus gut? 334 Wie funktioniert Polymorphismus? 337 Nachos mit der polymorphen Methode erzeugen 339 Wann ist eine Funktion virtuell und wann nicht? 342 Virtuelle Betrachtungen 344 Resümee Klassenfaktorierung und abstrakte Klassen 349 Faktorierung 349 Abstrakte Klassen 357 Wie funktioniert das? 358 Wie man aus einer abstrakten Klasse eine wirkliche Klasse macht 360 Übergabe abstrakter Klassen
10 Inha Wozu sind rein virtuelle Funktionen gut? 363 Ermittlung des Laufzeit-Typs 365 Resümee 369 Die Verwendung der Vererbung zur Rationalisierung des Budgets: BUDGET5.CPP Minuten-Test 378 Die Lösungen 379 Teil VI Für Fortgeschrittene: Optionale Features Mehrfachvererbung 395 Wie funktioniert die Mehrfachvererbung? 395 Vererbungsmehrdeutigkeiten 397 Virtuelle Vererbung 398 Objekte der Mehrfachvererbung erzeugen 404 Zum Schluß: Eine gegenteilige Meinung Die Zugriffssteuerung 407 Ein wirklich exklusiver Club: Private Mitglieder 407 Warum sollte ich private verwenden, wenn ich genausogut protected verwenden kann? 408 Wie verwendet man private? 409 Geheime Testamente oder nicht-öffentliche Vererbung 409 Wann ist eine Unterklasse keine Unterklasse? 414 Resümee Überladen von Operatoren 417 Wozu sind überladene Operatoren gut? 418 Wie operiert eine Funktion und wie funktioniert ein Operator? 419 Was hat das mit überladenen Operatoren zu tun? 420 Wie funktioniert das Überladen von Operatoren? 420
11 C++ für Dummies Eine detailliertere Betrachtung 423 Operatoren als Elementfunktionen 425 Und noch eine Komplikation 428 Cast-Operator 430 Resümee Der Zuweisungsoperator 433 Warum ist das Überladen des Zuweisungsoperators so wichtig? 433 Wie überlade ich den Zuweisungsoperator? 434 Resümee Stream-I/O 439 Wie funktioniert Stream-I / O? 439 Die fstream-unterklassen 441 Die strsteam-unterklassen 445 Manipulatoren 446 Gebräuchliche Ausgabeoperationen 450 Freundliche Ausgabeoperatoren 453 Resümee Objektauswertung und Signaturfelder 459 Aufruf von Elementfunktionen mit ungültigen Zeigern 460 Und, die Konsequenzen? 461 Was tun gegen ungültige Zeiger? 462 Was kann islegak) sonst noch? 465 Resümee 467 Teil VII Top Ten Zehn Methoden, Fehler in Ihrem Programm zu vermeiden 471 Aktivieren Sie alle Warnungen und Fehlermeldungen 471 Verwenden Sie die STRICT-Kompilierung 473
12 Inha Bestehen Sie auf einer korrekten Kompilierung 473 Gewöhnen Sie sich einen sauberen und konsistenten Programmierstil an 474 Schränken Sie die Sichtbarkeitsbereiche ein 475 Verwenden Sie ein Signaturfeld 477 Kommentieren Sie Ihren Code 478 Durchlaufen Sie jeden Pfad mindestens einmal im Einzelschrittmodus 478 Überladen Sie keine Operatoren 479 Vermeiden Sie die Mehrfachvererbung 479 Zehn C++-Features, die in diesem Buch nicht berücksichtigt wurden 481 Templates (Schablonen) 482 Ausnahmen (Exceptions) 482 Typidentifizierung zur Laufzeit (RTTI) 484 Namensbereiche 484 Überladen von new und delete 485 Die Klasse String 485 Zeiger auf die Elementoperatoren ->* und * Bit-Zeiger von Intel 485 Die zehn wichtigsten Compiler-Schalter (und noch zwei mehr) 487 Inline-Funktionen ausführen (Out-of-line Inline-Funktionen) 488 Präprozessor-Symbole definieren 488 Debug-Informationen in.ojbs aufnehmen 489 Überprüfung auf Stack-Überlauf 490 Speichermodell 491 Art der Fließkomma-Unterstützung 492 Compiler-Optimierungen 493 Ausnahmen / RTTI aktivieren 494 Datenausrichtung 495
13 C++ für Dummies Prozessor-Unterstützung Standard-Stack-Frame Vorkompilierte Header Anhang: Wie funktionieren diese virtuellen Funktionen überhaupt? Sex, Lügen und v tables Resümee Index
Inhaltsverzeichnis. Teil I Einführung in die C++-Programmierung 25. Einführung 19. Kapitel 1 Ihr erstes C++-Programm 27
Inhaltsverzeichnis Einführung 19 Zu diesem Buch 19 Über die CD 19 Was ist C++? 20 Konventionen in diesem Buch 20 Wie dieses Buch aufgebaut ist 21 Das ist noch nicht alles 21 Teil I: Einführung in die C++-Programmierung
MehrObjektorientiertes Programmieren in C++
Nicolai Josuttis Objektorientiertes Programmieren in C++ Von der Klasse zur Klassenbibliothek D-64289 Darmstadt ADDISON-WESLEY PUBLISHING COMPANY Bonn Paris Reading, Massachusetts Menlo Park, California
MehrStephen Randy öaris. c++ für Dummies. Übersetzung aus dem Amerikanischen Von Marcus Bäckmann WILEY- VCH. WILEY-VCH Verlag GmbH & Co.
Stephen Randy öaris c++ für Dummies Übersetzung aus dem Amerikanischen Von Marcus Bäckmann WILEY- VCH WILEY-VCH Verlag GmbH & Co. KGaA Inhaltsverzeichnis Über den Autor 7 Einführung 21 Zu diesem Buch 21
MehrVorwort zur zweiten Auflage 1. Vorwort zur ersten Auflage 2
Vorwort zur zweiten Auflage 1 Vorwort zur ersten Auflage 2 1 Über dieses Buch 3 1.1 WarumdiesesBuch?... 3 1.2 Voraussetzungen...... 4 1.3 Systematik... 4 1.4 WieliestmandiesesBuch?... 6 1.5 ZugriffaufdieQuellenzudenBeispielen...
MehrÜber den Autor 9 Widmung 10. Einführung 23
Inhaltsverzeichnis Über den Autor 9 Widmung 10 Einführung 23 Über dieses Buch 23 Törichte Annahmen über den Leser 24 Wie dieses Buch organisiert ist 25 Teil I: Programmieren in C++ die ersten Schritte
MehrÜber den Autor 9. Einführung 23. Zu diesem Buch 23 Icons in diesem Buch 26 Weiteres Material zum Buch 26 Wie geht s weiter? 27
Inhaltsverzeichnis Über den Autor 9 Einführung 23 Zu diesem Buch 23 Icons in diesem Buch 26 Weiteres Material zum Buch 26 Wie geht s weiter? 27 Teil I Einführung in die C++-Programmierung 29 Kapitel 1
MehrPeter Prinz Ulla Kirch-Prinz C+ + Lernen und professionell anwenden. ffl mitp
Peter Prinz Ulla Kirch-Prinz C+ + Lernen und professionell anwenden ffl mitp Inhaltsverzeichnis Einleitung 19 1 Grundlagen 21 Entwicklung und Eigenschaften von C + + 22 Objektorientierte Programmierung
MehrObjektorientierte Programmierung mite**
mc Jürgen Franz/Christoph Mattheis Objektorientierte Programmierung mite** Systemunabhängig umsteigen auf C ++ Windowsprogrammierung Beispiele für UNIX Mit 66 Abbildungen Franzis 9 Inhalt 1 Überblick C++
MehrDas erwartet dich in diesem Buch 8. Kapitel 1 Aufbruch ins Programmierabenteuer 14
Inhaltsverzeichnis Das erwartet dich in diesem Buch 8 Kapitel 1 Aufbruch ins Programmierabenteuer 14 Das Schlimmste vorab: die binäre Logik 15 So hoch entwickelt und doch so primitiv: der Prozessor 17
Mehrin 21 Tagen Jesse Liberty Der optimale Weg - {Schritt für Schritt zum Programmierprofi
Jesse Liberty Deutsche Übersetzung: Petra Alm in 21 Tagen Der optimale Weg - {Schritt für Schritt zum Programmierprofi Einführung in die objektorientierte Programmierung Alle Programme getestet mit Microsoft
MehrObjektorientiert in C++
Dirk Louis Objektorientiert in C++ Einstieg und professioneller Einsatz intwickier.pres: Vorwort 11 1 Schnellkurs C++ 13 1.1 ANSI-C++ und die Compiler 13 Compiler und Programmerstellung 13 ANSI und die
MehrEinführung in die Programmierung mit C++
1 Seite 1 Einführung in die Programmierung mit C++ Teil III - Objektorientierte Programmierung 9. Klassen und Methoden Was sind Klassen? Seite 2 sprachliches Mittel von C++ um objektorientierte Programmierung
MehrC++ - Objektorientierte Programmierung Konstruktoren und Destruktoren
C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue
MehrDie С ++-Programmiersprache
Bjarne Stroustrup Die С ++-Programmiersprache 3., aktualisierte und erweiterte Auflage Deutsche Übersetzung von Nicolai Josuttis und Achim Lörke raddison-wesley An imprint of Addison Wesley Longman, Inc.
Mehr10.4 Konstante Objekte
10.4 Konstante Objekte Genau wie bei einfachen Datentypen (int,double,...) kann man auch Objekte als const deklarieren. Eine solche Deklaration bedeutet, daß alle Attribute so behandelt werden, als wären
MehrKapitel 2 Elementare Datentypen, Konstanten und Variablen Elementare Datentypen
Inhaltsverzeichnis Einleitung Kapitel 1 Grundlagen Entwicklung und Eigenschaften von C++ Objektorientierte Programmierung Erstellen eines C++- Programms Ein erstes C++-Programm Struktur einfacher C++-Programme
MehrEinleitung Grundlagen 23
Einleitung 21 1 Grundlagen 23 Entwicklung und Eigenschatten von C++ 24 Objektorientierte Programmierung 26 Erstellen eines C + + -Programms 28 Ein erstes C+ + -Programm 30 Struktur einfacher C++-Programme
MehrWerner Achte rt DATA BECKER
Werner Achte rt. DATA BECKER Inhaltsverzeichnis 1. Einführung 21 1.1 Entwurf von Anwendungssystemen 23 1.2 Entwicklung eines Programms 25 1.3 Objektorientierte Programmierung 29 1.4 Darstellung objektorientierter
Mehrmagnum C++ WALTER SAUMWEBER kompakt komplett kompetent
magnum C++ WALTER SAUMWEBER kompakt komplett kompetent Quickview... 5 Liebe Leserin, lieber Leser... 13 Teil 1 Grundlagen... 15 1 Was ist Programmieren?... 17 1.1 Was ist eigentlich ein Computerprogramm?...
MehrOOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik
Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik WS 2011/12 Inhalt Test-Besprechung! Ziele verdeutlichen Große Bild von OOP Wiederholung: Einbettung als Technik
MehrÜberblick. 5. Objekt und Klasse, Elementfunktionen
Überblick 1. Einführung C++ / Entwicklung/ Sprachfamilie 2. Nicht objektorientierte Erweiterungen von C 2.1 Das Ein-/Ausgabekonzept von C++ 2.2 Referenzen in C++ 2.3 Heap-Allokatoren in C++ 3. Grundlagen
MehrInhaltsverzeichnis. Vorwort
Inhaltsverzeichnis Vorwort XI 1 C/C++-Grundlagen 1 1.1 Einführung................................ 1 1.1.1 Entwicklungsgeschichte: Von K&R-C nach C++........ 1 1.1.2 Beispielprogramme.......................
MehrInhalt. Vorwort Erste Grundlagen... 15
Inhalt Vorwort... 13 1 Erste Grundlagen... 15 1.1 Historisches... 15 1.2 Die Programmiersprache C++ und die Maschine... 16 1.3 Werkzeuge zum Programmieren... 18 1.3.1 Der Editor... 18 1.3.2 Der Compiler...
MehrDAP2-Programmierpraktikum Einführung in C++ (Teil 2)
DAP2-Programmierpraktikum Einführung in C++ (Teil 2) Carsten Gutwenger 18. April 2008 Lehrstuhl 11 Algorithm Engineering Fakultät für Informatik, TU Dortmund Überblick Dynamischer Speicher Klassen und
MehrImplementieren von Klassen
Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und
MehrEinführung in C# Teil 3. Matthias Nübling
Einführung in C# Teil 3 Matthias Nübling Vorausgesetzte Grundkenntnisse Programmierung Typen, Variablen, Anweisungen, Funktionen, etc. Objektorientierte Programmierung Klassen, Vererbung, Polymorphismus,
MehrVorausgesetzte Grundkenntnisse. Inhalt. Klassenhierarchie und Vererbung. Vererbung. Klassenhierarchie und Vererbung. Einführung in C# Teil 3
Vorausgesetzte Grundkenntnisse Einführung in C# Teil 3 Matthias Nübling Programmierung Typen, Variablen, Anweisungen, Funktionen, etc. Objektorientierte Programmierung Klassen, Vererbung, Polymorphismus,
MehrAngewandte Mathematik in OOP WS 2011/12. Abschluss-Test
Angewandte Mathematik in OOP WS 2011/12 Abschluss-Test 012 6 5 4 5 6 Aufgabe 1 (9 Punkte 1 Punkt je Antwort) Bitte jeweils eine Antwort ankreuzen (je nach Fragestellung die richtige oder falsche): a.)
MehrC++ - Objektorientierte Programmierung Konstante und statische Elemente
C++ - Objektorientierte Programmierung Konstante und statische Elemente hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja
MehrOOP. Kapselung: Gruppierung von Daten und Funktionen als Objekte. Definieren eine Schnittstelle zu diesen Objekten.
Polymorphismus OOP Kapselung: Gruppierung von Daten und Funktionen als Objekte. Definieren eine Schnittstelle zu diesen Objekten. Vererbung: Erlaubt Code zwischen verwandten Typen wiederverwendet sein.
MehrVerwendung von Klassen in C++
Verwendung von Klassen in C++ Heute: Benutzerdefinierte Datentypen (Konkrete Klassen) Vektoren Komplexe Zahlen Adressdatei Morgen: Objektorientierte Programmierung (Abstrakte Klassen) Vererbung Polymorphie
MehrC++ - Objektorientierte Programmierung Vererbung
C++ - Objektorientierte Programmierung Vererbung Personen Kunden Mitarbeiter Verwaltung Verkäufer Leibniz Universität IT Services Anja Aue Vererbung Definition von Klassen auf Basis von bestehenden Klassen.
MehrObjektorientierte Programmierung III
Objektorientierte Programmierung III OOP Kapselung: Gruppierung von Daten und Funktionen als Objekte. Definieren eine Schnittstelle zu diesen Objekten. Vererbung: Erlaubt Code zwischen verwandten Typen
MehrInhaltsverzeichnis. Kapitel i: Schnelleinstieg 13. Kapitel 2: Was sind Programme? 17. Kapitel 3: Wie erstellt man eigene Programme?
Liebe Leserin, lieber Leser 10 Kapitel i: Schnelleinstieg 13 Kapitel 2: Was sind Programme? 17 Was ist ein Programm? 18 Sprechen Sie Computer? 18 Von der Idee zum Programm 19 Von Windows, Fenstern und
MehrEffektiv C++ 22 Tips für besseres C++ basierend auf Ideen von Scott Meyers. Stephan Brumme, 21.Mai 2002
1 22 Tips für besseres C++ basierend auf Ideen von Scott Meyers Gliederung 2 1. Einführung 2. Der Umstieg von C nach C++ 3. Konstruktoren, Destruktoren und Zuweisungsoperatoren 4. Entwurf und Deklaration
MehrArnold Willemer. Einstieg in C++ Galileo Press
Arnold Willemer Einstieg in C++ Galileo Press Vorwort 13 1.1 Programmieren 17 1.1.1 Start eines Programms 17 1.1.2 Eintippen, übersetzen, ausführen 18 1.1.3 Der Algorithmus 20 1.1.4 Die Sprache C++ 21
MehrGliederung der Folien
1 Gliederung der Folien 1. Einführung 1.1. Gliederung 1.2. Literatur 1.3. Einstieg in Java 1.3.1. Geschichte von Java 1.3.2. Hello World 1.3.3. Übersetzen eines Java-Programms 1.4. Die Entwicklungsumgebung
MehrMikrorechentechnik II. Klassen in C++
Mikrorechentechnik II Klassen in C++ class class cfilter { float K; float T; float Ta; public: // Filterverstärkung // Filterzeitkonstante // Tastzeit Zugriffskontrolle: public, protected, private void
MehrDas erwartet dich in diesem Buch 8. Kapitel 1 Aufbruch ins Programmierabenteuer 14
inhaltsverzeichnis Inhaltsverzeichnis Das erwartet dich in diesem Buch 8 Kapitel 1 Aufbruch ins Programmierabenteuer 14 Das Schlimmste vorab: die binäre Logik 15 So hoch entwickelt und doch so primitiv:
MehrKapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen
Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18
MehrEinstieg in die Informatik mit Java
1 / 35 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 35 1 Grundlagen 2 Verdeckte Variablen 3 Verdeckte Methoden 4 Konstruktoren
MehrHSR Rapperswil 2001 Markus Rigling. Programmieren: Vererbung. 1 Variante 2
HSR Rapperswil 2001 Markus Rigling Programmieren: Vererbung 1 Variante 2 Inhaltsverzeichnis: 1. Was ist Vererbung...3 2. Anwendung...3 3. Realisierung...3 4. Vorgehensweise zur Erstellung einer Kind-Klasse...3
MehrC++ Teil 9. Sven Groß. 17. Juni Sven Groß (IGPM, RWTH Aachen) C++ Teil Juni / 17
C++ Teil 9 Sven Groß 17. Juni 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 9 17. Juni 2016 1 / 17 Themen der letzten Vorlesung Objektorientierung und Klassen Attribute / Datenelemente Methoden / Elementfunktionen
MehrC++ für Spieleprogrammierer
Heiko Kalista C++ für Spieleprogrammierer 3., aktualisierte Auflage HANSER h *3k I lot Я ш Grundlagen 1 Einleitung 1 1.1.1 An wen richtet sich dieses Buch? 1 1.1.2 Welche Vorkenntnisse werden benötigt?
MehrMethoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only
Methoden Wie Konstruktoren und Destruktoren zum Auf- und Abbau von Objekten definiert werden, Wie inline-methoden Methoden,, Zugriffsmethoden und Read-Only Only- Methoden einzusetzen sind, Der this-pointer
MehrGrundlagen Polymorphismus Eigenschaften virtueller Klassen Mehrfachvererbung bei ROOT. Mehrfache Vererbung. Daniel Beneckenstein. 21.
Mehrfache Vererbung Daniel Beneckenstein 21. August 2006 Mehrfache Vererbung Ableitung einer Klasse von beliebig vielen Basisklassen: class A {... }; class B {... }; class C {... }; class D: public A,
MehrC++ Teil 10. Sven Groß. 17. Dez IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Dez / 14
C++ Teil 10 Sven Groß IGPM, RWTH Aachen 17. Dez 2014 Sven Groß (IGPM, RWTH Aachen) C++ Teil 10 17. Dez 2014 1 / 14 Themen der letzten Vorlesung Objektorientierung und Klassen Attribute / Datenelemente
MehrMapra: C++ Teil 4. Felix Gruber. 6. Mai IGPM, RWTH Aachen. Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 4 6.
Mapra: C++ Teil 4 Felix Gruber IGPM, RWTH Aachen 6. Mai 2015 Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 4 6. Mai 2015 1 / 22 Themen vom letzten Mal Kompilieren mit Makefiles Ein-/Ausgabe über Dateien
MehrEinführung in die Programmierung mit C++
1 Seite 1 Einführung in die Programmierung mit C++ Teil III - Objektorientierte Programmierung 10. Vererbung und Polymorphie Vererbung und Polymorphie in C++ Seite 2 Klassen können von anderen Klassen
MehrProgrammierkurs C/C++
Blockkurs: "Einführung in C/C++" Programmierkurs C/C++ Donnerstag Sandro Andreotti andreott@inf.fu-berlin.de WS 2008/09 1 Structs Blockkurs: "Einführung in C/C++" 2 Structs sind Bündel von Variablen (unter
MehrVorlesungsprüfung Programmiersprache 1
Vorlesungsprüfung Programmiersprache 1 Termin der Prüfung: 1) Di 20.03.2018 16:15 17:00 HSB 3 2) Di 15.05.2018 16:15 17:00 HSB 3 3) Di 12.06.2018 16:15 17:00 HSB 3 Stoffgebiete: 1) Ganzzahltypen: char,
Mehr... Vorwort Einstieg in die Programmierung Ablaufsteuerung... 71
... Vorwort... 13 1... Einstieg in die Programmierung... 15 1.1... Programmieren... 15 1.1.1... Start eines Programms... 15 1.1.2... Eintippen, übersetzen, ausführen... 16 1.1.3... Der Algorithmus... 18
MehrC# Programmierung. Eine Einführung in das.net Framework. C# Programmierung - Tag 2: Einstieg in die OOP
C# Programmierung Eine Einführung in das.net Framework C# Programmierung - Tag 2: Einstieg in die OOP 1/27/2012 1 Di Datentypen Arrays Operatoren Parameter Überladen Heap / Stack Klassen (un)boxing Tag
MehrProgrammierung in C/C++
Programmierung in C/C++ Mit einer grundlegenden Einführung in die Objektorientierung Univ.-Prof. Hon.-Prof. Dr. Dieter Roller Mit 134 Bildern Kontakt & Studium Band 682 Herausgeber: Prof. Dr. Birgit Baum
MehrUlla Kirch Peter Prinz C+ + Lernen und professionell anwenden. mitp
Ulla Kirch Peter Prinz C+ + Lernen und professionell anwenden mitp Inhaltsverzeichnis Einleitung 19 Grundlagen 21 Entwicklung und Eigenschaften von C++ 22 Objektorientierte Programmierung 24 Erstellen
MehrObjektorientierte Programmierung mit C++ SS 2007
Objektorientierte Programmierung mit C++ SS 2007 Andreas F. Borchert Universität Ulm 5. Juni 2007 Polymorphismus #include Function.h class Function { public: virtual ~Function() {}; virtual std::string
Mehr7. Übung Informatik II - Objektorientierte Programmierung
7. Übung Informatik II - Objektorientierte Programmierung 29. Mai 2015 Inhalt 1 2 3 Übersicht 1 2 3 Idee Menschen nehmen die Welt in Form von Objekten wahr manche Objekte haben gleiche Eigenschaften, hierüber
MehrObjektorientierte Programmierung mit Java
David J. Barnes Michael Kölling Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Übersetzt von Axel Schmolitzky, Universität Hamburg PEARSON Studium ein Imprint von Pearson
MehrRepetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
MehrGrundkurs C++ IDE Klassenhierarchien
Grundkurs C++ IDE Klassenhierarchien Martin Knopp 03.05.2017 Folie 1/34 GK C++: IDE, Klassenhierarchien Martin Knopp 03.05.2017 IDE Integrated Development Environment Wir empfehlen: Qt Creator (Bestandteil
MehrÜberblick. 6. Konstruktor und Destruktor - obligatorische Elementfunktionen einer Klasse
Überblick 1. Einführung C++ / Entwicklung/ Sprachfamilie 2. Nicht objektorientierte Erweiterungen von C 2.1 Das Ein-/Ausgabekonzept von C++ 2.2 Referenzen in C++ 2.3 Heap-Allokatoren in C++ 3. Grundlagen
MehrProgrammieren in Lua
Roberto lerusalimschy Programmieren in Lua 3. Auflage Open Source Press Inhaltsverzeichnis Vorwort 13 I Die Sprache 21 1 Einführung 23 1.1 Chunks 24 1.2 Einige lexikalische Konventionen 26 1.3 Globale
MehrObjektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)
Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester
MehrGrundkurs C++ IDE Klassenhierarchien
Grundkurs C++ IDE Klassenhierarchien Martin Knopp & Johannes Feldmaier 20.04.2016 Folie 1/35 GK C++: IDE, Klassenhierarchien Martin Knopp & Johannes Feldmaier 20.04.2016 IDE Integrated Development Environment
MehrPolymorphie. 15. Java Objektorientierung II
432 Polymorphie 15. Java Objektorientierung II Objektorientierung: Verschiedene Aspekte 433 Daten Typhierarchie Objekte Code Vererbung Unter- und Oberklassen Methoden überschreiben Unterklassen zuweisen
MehrVokabeln. 4.1 Benutzer definierte Datentypen. Kapitel 4. Prof. Dr. Gerhard Berendt C++ oop? SS 2002 Arbeitsblatt 4
4.1 Benutzer definierte Datentypen C++ unterstützt die Einführung benutzer definierter Datentypen (auch Abstrakte Datentypen (ADT) genannt). ADTs bieten einen guten Einstieg in das Paradigma der objekt
MehrGrundlagen der Informatik
Grundlagen der Informatik Polymorphie, Abstrakte Klassen, Mehrfachvererbung Prof. Dr.-Ing. Thomas Wiedemann Prof. Dr. rer.nat. Ralph Großmann Fachgebiet Informatik / Mathematik Überblick zum Inhalt Klassen-3
MehrPolymorphie. 15. Java Objektorientierung II
446 Polymorphie 15. Java Objektorientierung II Objektorientierung: Verschiedene Aspekte 447 Daten Typhierarchie Objekte Code Vererbung Unter- und Oberklassen Methoden überschreiben Unterklassen zuweisen
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens mit C++ und Matlab SS2013 Inhalt Bis jetzt: Heute: Entwicklungsumgebung
MehrEinführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)
Wintersemester 2005/06 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl
MehrEinstieg in die Informatik mit Java
1 / 41 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick: Vererbung 2 Grundidee Vererbung 3 Verdeckte Variablen
MehrC/C++ KOMPENDIUM Einführung Arbeitsbuch Nachschlagewerk
C/C++ KOMPENDIUM Einführung Arbeitsbuch Nachschlagewerk Vorwort 23 Teil i Zur Einstimmung 29 Kapitel i A, B, C - die Geschichte von C und C++ 31 Kapitel 2 Allgemeine Konzeption einer Programmiersprache
MehrBeispiel: Zwischen der Oberklasse und der abgeleiteten Klasse besteht eine ist ein Beziehung. Eine abgeleitete Klasse stellt eine Spezialisierung der
Vererbung Vererbung ist ein Konzept der objektorientierten Programmierung,, die es ermöglicht neue Klassen von bereits vorhandenen Klassen abzuleiten. In einer abgeleiteten Klasse (subclass) muss nur spezifiziert
MehrArnold Willemer. Einstieg in C++ Galileo Press
Arnold Willemer Einstieg in C++ Galileo Press Vorwort 13 1.1 Programmieren 15 1.1.1 Start eines Programms 15 1.1.2 Eintippen, übersetzen, ausführen 16 1.1.3 Der Algorithmus 18 1.1.4 Die Sprache C++ 19
MehrÜberblick. Überblick. Abstrakte Klassen - rein virtuelle Funktionen Beispiele
Überblick 1. Einführung C++ / Entwicklung/ Sprachfamilie 2. Nicht objektorientierte Erweiterungen von C 2.1 Das Ein-/Ausgabekonzept von C++ 2.2 Referenzen in C++ 2.3 Heap-Allokatoren in C++ 3. Grundlagen
MehrInhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1
Inhaltsverzeichnis Grundlagen und Einführung (1. Band) 1 1 Einleitung und Vorwort 1 1.1 Vorwort zur 13. Auflage....................... 1 1.2 Vorwort zur 10. Auflage....................... 1 1.3 Voraussetzungen...........................
MehrNeben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter
Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener
MehrArnold Willemer C++ Der Einstieg. WlLEY
Arnold Willemer C++ Der Einstieg WlLEY altsverzeichnis Vorwort 13 1 Einstieg in die Programmierung 15 1.1 Programmieren 15 1.1.1 Start eines Programms 16 1.1.2 Eintippen, übersetzen, ausführen 17 1.1.3
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Objektorientierung in C++ (3) Aspekte der Vererbung (1) Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 546 Zuweisung bei Vererbung Dr. Frank Seifert Vorlesung
MehrÜberblick. Überblick zum weiteren Inhalt
Überblick 1. Einführung C++ / Entwicklung/ Sprachfamilie 2. Nicht objektorientierte Erweiterungen von C 2.1 Das Ein-/Ausgabekonzept von C++ 2.2 Referenzen in C++ 2.3 Heap-Allokatoren in C++ 3. Grundlagen
MehrVererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.
Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 23.5.07 G. Bohlender (IANM UNI Karlsruhe) Vererbung 23.5.07 1 / 22 Übersicht 1
MehrKlassen. Kapitel Klassendeklaration
Kapitel 4 Klassen Wir kommen nun zu einem sehr wichtigen Aspekt der OOT: zu den Klassen. Eine Klasse ist eine vom Benutzer definierte Datenstruktur, eine Sammlung von Variablen (unterschiedlichen Typs)
MehrProgrammierung III. Pointer für Fortgeschrittene Marc Ruberg. Arrays von Pointern ( Zeigervektoren ): Pointer auf Pointer:
Programmierung III Marc Ruberg 1 Pointer für Fortgeschrittene Arrays von Pointern ( Zeigervektoren ): long *zahlenptr[25]; char *strptr[1000]; Pointer auf Pointer: char **sp Zeiger auf Funktionen: Typ
MehrEinstieg in die Informatik mit Java
1 / 25 Einstieg in die Informatik mit Java Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 25 1 Die Philosophie 2 Definition
MehrKapitel 8. Programmierkurs. Methoden. 8.1 Methoden
Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08
MehrInstitut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen
MehrRückblick: Benutzerdefinierte Datentypen Definition der Klasse Vektor als Container für 2-dimensionale Vektoren
Rückblick: Benutzerdefinierte Datentypen Definition der Klasse Vektor als Container für 2-dimensionale Vektoren class Vektor public: double k1, k2; // Deklaration der Klasse Vektor // Elementvariablen
MehrVererbung und Polymorphie
page1 Vererbung und Polymorphie Florian Adamsky, B Sc florianadamsky@iemthmde http://florianadamskyit/ cbd So wareentwicklung im SS 2014 page2 Outline 1 Ein ührung 2 Vererbung Formen der Vererbung 3 Polymorphie
MehrJava Vererbung. Inhalt
Java Vererbung Inhalt 1 Zielsetzung... 2 1.1 Bewertung... 2 2 Grundlagen der Vererbung... 2 2.1 Super und Subklassen... 2 3 Überladen von Methoden... 4 3.1 Unterschiedliche Parameter... 4 3.2 Gleiche Parameter
MehrVererbung, Polymorphie
Vererbung, Polymorphie Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 21.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung, Polymorphie 21.1.08
MehrPolymorphismus 179. Function.h. #include <string>
Polymorphismus 179 #include Function.h class Function { public: virtual ~Function() {}; virtual std::string get_name() const = 0; virtual double execute(double x) const = 0; }; // class Function
MehrInformatik II Übung 6
Informatik II Übung 6 Gruppe 2 Carina Fuss cfuss@student.ethz.ch 11.4.2018 Carina Fuss 11.4.2018 1 Übung 6 Nachbesprechung Übung 5 Objektorientierung Vererbung, Polymorphie, abstrakte Klassen, Interfaces,
Mehr3. Exkurs in weitere Arten der Programmierung
3. Exkurs in weitere Arten der Programmierung Inhalt: Objektorientierte Programmierung in C++ Logische Programmierung in Prolog Peter Sobe Objektorientierte Programmierung in C++ C++ ist eine objektorientierte
MehrUlrich Kaiser C/C++ Von den Grundlagen zur professionellen Programmierung. Galileo Press
Ulrich Kaiser C/C++ Von den Grundlagen zur professionellen Programmierung Galileo Press Inhalt Vorwort 15 Danksagung 16 1 Einige Grundbegriffe 17 1.1 Algorithmus 19 1.2 Datenstruktur 23 1.3 Programm 25
MehrDynamische Datentypen. Destruktor, Copy-Konstruktor, Zuweisungsoperator, Dynamischer Datentyp, Vektoren
Dynamische Datentypen Destruktor, Copy-Konstruktor, Zuweisungsoperator, Dynamischer Datentyp, Vektoren Probleme mit Feldern (variabler Länge) man kann sie nicht direkt kopieren und zuweisen Probleme mit
MehrProf. W. Henrich Seite 1
Klasse - ist ein benutzerdefinierter Datentyp (Referenztyp) - hat Datenelemente - hat Methoden - Konstruktor ist spezielle Methode zum Erstellen eines Objektes vom Typ der Klasse (Instanz) - jede Klasse
MehrEinstieg in die Informatik mit Java
1 / 27 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 27 1 Überblick: Klassen als Datenstruktur 2 Vereinbarung
MehrEinleitung Typsystem Typisierung Zusammenfassung Literatur. Typisierung. Effiziente Programmierung. Thomas Schnieders
Typisierung Effiziente Programmierung Thomas Schnieders Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg 2018-04-26 Thomas Schnieders Typisierung 1
Mehr5.4 Arrays. Oft müssen viele Werte gleichen Typs gespeichert werden. Idee: Lege sie konsekutiv ab! Greife auf einzelne Werte über ihren Index zu!
5.4 Arrays Oft müssen viele Werte gleichen Typs gespeichert werden. Idee: Lege sie konsekutiv ab! Greife auf einzelne Werte über ihren Index zu! Feld: Index: 17 3-2 9 0 1 0 1 2 3 4 5 Harald Räcke 114/656
Mehr