Objektorientiert in C++

Größe: px
Ab Seite anzeigen:

Download "Objektorientiert in C++"

Transkript

1 Dirk Louis Objektorientiert in C++ Einstieg und professioneller Einsatz intwickier.pres:

2 Vorwort 11 1 Schnellkurs C ANSI-C++ und die Compiler 13 Compiler und Programmerstellung 13 ANSI und die Compiler-Wahl 14 C++ ist eine deklarative Sprache Das erste Programm 17 Kommentare 18 Präprozessor-Direktiven 18 Namensräume 20 Deklarationen und Definitionen 21 Die Eintrittsfunktion main() 22 Anweisungen 22 Erstellung (Build) Variablen und Datentypen 23 Literale 23 Variablen 24 Datentypen Operatoren und Ausdrücke 31 Arithmetische Operatoren 32 In- und Dekrementoperator 33 Zuweisungen 34 Vergleichende Operatoren 34 Logische Operatoren 35 Bit-Operatoren 36 Datenzugriff 39 Sonstige Operatoren 40 Priorität Kontrollstrukturen 42 Verzweigungen 42 Schleifen Funktionen 49 Definition 50 Funktionen verlassen 51 Überladung Arrays Aufzählungen 55 Objektorientiert in C++ 5

3 1.9 Strukturen Unions Klassen Zeiger und Referenzen 62 Zeiger 62 Referenzen 68 Dynamische Speicherbelegung 69 Zeiger und Referenzen als Parameter Strings 75 Die Klasse string 76 C-Strings 79 Escape-Sequenzen 80 Umwandlungen zwischen Strings und Zahlen Ein- und Ausgabe 81 Die Konsole 81 Dateien 85 Befehlszeilenargumente Präprozessor-Direktiven 87 #include - Header-Dateien einbinden 88 #define - Makros und Konstanten definieren 88 #ifdef - Bedingte Kompilierung 88 Sonstige Direktiven 90 2 Warum OOP? - Philosophie und Motivation Die Klasse als Datentyp 91 Vom datenorientierten Ansatz zum objektorientierten Ansatz Das Objekt als dienstbarer Geist 98 Wie sind OOP-Objekte beschaffen? 99 Objekte und Klassen Die Klasse als Zentrum der objektorientierten Programmierung 102 Abgeschlossenheit 103 Sichere Verwendung 104 Kapselung Konzepte, die auf der Klasse aufbauen 107 Modularität 108 Vererbung 108 Polymorphie Objektorientierte Terminologie Die Klasse: Syntax Klassendefinition 127 Zugriffsrechte 128 Die Klasse als Gültigkeitsbereich 130 Implementierungs- und Header-Datei 131

4 3.2 Membervariablen 135 Initialisierung 135 Statische Membervariablen 137 Konstante Membervariablen 138 Eingebettete Objekte Memberfunktionen 140 Definition innerhalb der Klassendefinition 140 Definition außerhalb der Klassendefinition 142 Der this-zeiger 143 Statische Memberfunktionen 144 Konstante Memberfunktionen 146 Virtuelle Memberfunktionen 147 Überladung Die Konstruktoren 147 Definition und Aufruf 148 Ersatz- und Standardkonstruktoren 149 Arrays von Objekten Der Destruktor Typdefinitionen in Klassen 158 Aufzählungen in Klassen 159 Verschachtelte Klassen Die Klasse: Design Syntax revised Design-Techniken 165 const-memberfunktionen 165 Get-/Set-Memberfunktionen 166 Überladung kontra Vorgabeargument 168 private- und protected-konstruktoren Design-Elemente 170 Friends - unkomplizierte Freunde 170 Überladung von Operatoren 171 Konvertierungskonstruktor und -memberfunktionen Design-Patterns 180 Funktionensammlungen 180 Singleton Die Klasse: Objekte Erzeugen 185 Implizite Objekterzeugung 185 Explizite Objekterzeugung 186 Vorgang der Instanzbildung Vergleichen 188 Gleichheit 189 Größenvergleiche 190 Objektorientiert in C++ 7

5 5.3 Kopieren 194 Flaches und tiefes Kopieren 195 Kopierkonstruktor für tiefes Kopieren 197 Zuweisungsoperator für tiefes Kopieren Ausgeben 199 Objekte in Strings umwandeln 199 Die Stream-Operatoren überladen Auflösen Zeiger auf Objekte Vererbung oder Komposition Das Prinzip der Vererbung 207 Der grundlegende Mechanismus 208 Die Syntax 209 Wann ist Vererbung gerechtfertigt? 210 Einige wichtige Fakten Das Basisklassen-Unterobjekt 212 Zugriff 213 Instanzbildung Die Zugriffsspezifizierer für die Vererbung Verdecken, überschreiben und überladen 221 Verdeckung 222 Überladung 223 Überschreibung Der Destruktor Mehrfachvererbung 224 Namenskonflikte bei der Mehrfachvererbung 224 Virtuelle Basisklassen 225 Mehrfachvererbung und Speicherauslegung Vererbung und objektorientiertes Design 227 Virtueller Destruktor 227 Vererbung von Schnittstelle und Implementierung 227 Beziehungen zwischen Klassen Polymorphie, die hohe Schule Grundprinzip und Implementierung Späte und frühe Bindung 234 Frühe Bindung 235 Späte Bindung 236 Regeln für die Überschreibung Generische Programmierung 239 Mit Polymorphie planen 239 Basisklassen-Arrays 244 Basisklassenparameter 245

6 7.4 Typidentifizierung zur Laufzeit (RTTI) 248 Virtuelle Memberfunktionen 249 Umwandlung mit dynamic_cast 250 Der typeid()-operator Abstrakte Klassen 255 Rein virtuelle Funktionen 256 Abstrakte Klassen Templates Grundprinzip Funktionentemplates 261 Syntax 261 Überladung Klassentemplates 262 Syntax 262 Memberfunktionen in Klassentemplates Instanziierung und Spezialisierung 264 Implizite Instanziierung 265 Explizite Instanziierung 266 Explizite Spezialisierung Genauer hingeschaut: die Template-Parameter 267 class oder typename 267 Parametervielfalt Exception-Behandlung Konzeption und Zielsetzung 270 Kein Weg zurück 271 Behandeln von Exceptions Aufbau einer Exception-Behandlung Exceptions abfangen Exceptions auslösen Programmfluss und Exception-Behandlung 278 Wo wird der Programmfluss nach einer Exception fortgesetzt? 278 Die Problematik des gestörten Programmflusses Die Exception-Klassen Eigene Exceptions Funktionen zur Unterstützung der Exception-Behandlung Objektorientiertes Design und UML Moderne Software-Entwicklung 285 Objektorientiert in C++ 9

7 10.2 Fallbeispiel - Temperaturregelung 287 Anforderungsspezifikation 288 Die Analyse-Phase 288 Die Design-Phase 291 Implementierung 293 A Die Standardbibliothek 295 A.l Die C-Standardbibliothek 295 <cassert> 295 <cctype> 295 <cerrno> 296 <cfloat> 297 <ciso646> 298 <climits> 298 <clocale> 299 <cmath> 299 <csetjmp> 300 <csignal> 301 <cstdarg> 302 <cstddef> 303 <cstdio> 304 <cstdlib> 307 <cstring> 309 <ctime> 311 <cwchar> 312 <cwctype> 313 A.2 Die C++-Standardbibliothek 313 Die Container-Klassen 313 Der Gebrauch von Iteratoren <iterator> 325 Die Algorithmen <algorithm> 328 Funktionsobjekte <functional> 333 Die Stream-Klassen 338 Die String-Klassen 341 Sonstige Klassen 341 B Compiler 347 B.l Die Konsolen-Compiler 347 Borland C Compiler 347 GNU-Compiler g B.2 Die Entwicklungsumgebungen 352 Visual C Express Edition 352 Turbo C Index

Das erwartet dich in diesem Buch 8. Kapitel 1 Aufbruch ins Programmierabenteuer 14

Das 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

Mehr

Peter Prinz Ulla Kirch-Prinz C+ + Lernen und professionell anwenden. ffl mitp

Peter 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

Mehr

C/C++ KOMPENDIUM Einführung Arbeitsbuch Nachschlagewerk

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

Mehr

jetzt lerne ich C++ Das komplette Starterkit für den einfachen Einstieg in die Programmierung

jetzt lerne ich C++ Das komplette Starterkit für den einfachen Einstieg in die Programmierung Jetzt lerne ich C++ jetzt lerne ich C++ Das komplette Starterkit für den einfachen Einstieg in die Programmierung Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek

Mehr

Kapitel 2 Elementare Datentypen, Konstanten und Variablen Elementare Datentypen

Kapitel 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

Mehr

Inhaltsverzeichnis. Vorwort

Inhaltsverzeichnis. 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.......................

Mehr

Objektorientiertes Programmieren in C++

Objektorientiertes 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

Mehr

magnum C++ WALTER SAUMWEBER kompakt komplett kompetent

magnum 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?...

Mehr

Werner Achte rt DATA BECKER

Werner 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

Mehr

C++ DAS KOMPLETTE STARTERKIT FÜR DEN EINFACHEN EINSTIEG IN DIE PROGRAMMIERUNG. Dirk Louis»C++«Jetzt bei. EXTRA: Mit kostenlosem E-Book.

C++ DAS KOMPLETTE STARTERKIT FÜR DEN EINFACHEN EINSTIEG IN DIE PROGRAMMIERUNG. Dirk Louis»C++«Jetzt bei. EXTRA: Mit kostenlosem E-Book. dirk LOUIS AKTUELL ZU C++ 11 Dirk Louis»C++«Jetzt bei C++ DAS KOMPLETTE STARTERKIT FÜR DEN EINFACHEN EINSTIEG IN DIE PROGRAMMIERUNG EXTRA: Mit kostenlosem E-Book Auf DVD: Visual Express Editions 2013 für

Mehr

Visual C Das umfassende Handbuch für Programmierer. Dirk Louis I &CK MB A VISUAU C++ ADDISON-WESLEY. An imprint of Pearson Education

Visual C Das umfassende Handbuch für Programmierer. Dirk Louis I &CK MB A VISUAU C++ ADDISON-WESLEY. An imprint of Pearson Education Dirk Louis I &CK MB A VISUAU C++ Visual C++2010 ) Das umfassende Handbuch für Programmierer TT ADDISON-WESLEY An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario

Mehr

C++-Entwicklung mit Linux

C++-Entwicklung mit Linux C++-Entwicklung mit Linux Eine Einführung in die Sprache und die wichtigsten Werkzeuge von GCC und XEmacs bis Eclipse Thomas Wieland [Druckvorlage vom 10. August 2004] xiii Inhaltsverzeichnis 1 Programmieren

Mehr

Arnold Willemer. Einstieg in C++ Galileo Press

Arnold 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

Mehr

Gliederung der Folien

Gliederung 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

Mehr

Inhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15

Inhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15 Vorwort... 15 1 Einstieg in die Welt von C 17 1.1 Die Sprache C... 17 1.2 Die C-Standardbibliothek... 18 1.3 Die nötigen Werkzeuge für C... 21 1.4 Übersetzen mit der Entwicklungsumgebung... 23 1.5 Übersetzen

Mehr

C++ Einführung und professionelle Programmierung

C++ Einführung und professionelle Programmierung Ulrich Breymann C++ Einführung und professionelle Programmierung ISBN-10: 3-446-41023-6 ISBN-13: 978-3-446-41023-7 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41023-7

Mehr

Die Phase in der die Schablone vom Compiler erstmalig inspiziert wird (Template-Parameter sind noch unbekannt): lookup von non-dependent names

Die Phase in der die Schablone vom Compiler erstmalig inspiziert wird (Template-Parameter sind noch unbekannt): lookup von non-dependent names Weitere (semantische) Besonderheiten bei Templates: two-phase lookup: 1. Die Phase in der die Schablone vom Compiler erstmalig inspiziert wird (Template-Parameter sind noch unbekannt): lookup von non-dependent

Mehr

Arnold Willemer C++ Der Einstieg. WlLEY

Arnold 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

Mehr

Inhaltsverzeichnis. Kapitel i: Schnelleinstieg 13. Kapitel 2: Was sind Programme? 17. Kapitel 3: Wie erstellt man eigene Programme?

Inhaltsverzeichnis. 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

Mehr

... Vorwort Einstieg in die Programmierung Ablaufsteuerung... 71

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

Mehr

Ulla Kirch Peter Prinz C+ + Lernen und professionell anwenden. mitp

Ulla 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

Mehr

Arnold Willemer. Einstieg in C++ Galileo Press

Arnold 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

Grundkurs Programmieren in Java

Grundkurs Programmieren in Java 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Dietmar Ratz Jens Scheffler Detlef Seese Grundkurs Programmieren

Mehr

Wochenvorschau Tag 1 Erste Schritte in C# Tag 2 Die Visual C#-Umgebung

Wochenvorschau Tag 1 Erste Schritte in C# Tag 2 Die Visual C#-Umgebung Wochenvorschau..................................... 19 Tag 1 Erste Schritte in C#................................... 21 1.1 Warum C#...................................... 22 1.2.NET Framework................................

Mehr

1 Einige Grundbegriffe Einführung in die Programmierung Ausgewählte Sprachelemente von C Arithmetik...

1 Einige Grundbegriffe Einführung in die Programmierung Ausgewählte Sprachelemente von C Arithmetik... Auf einen Blick Auf einen Blick 1 Einige Grundbegriffe... 21 2 Einführung in die Programmierung... 35 3 Ausgewählte Sprachelemente von C... 45 4 Arithmetik... 83 5 Aussagenlogik... 107 6 Elementare Datentypen

Mehr

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren

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

Mehr

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2 iii Inhaltsverzeichnis Kurseinheit 1 1 Von der Aufgabenstellung zum Programm... 1 1.1 Motivation... 1 1.2 Softwareentwicklung... 2 1.3 EXKURS: Unified Modeling Language (UML)... 4 2 Anforderungsanalyse...

Mehr

Programmierung in C/C++

Programmierung 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

Mehr

Das erwartet dich in diesem Buch 8. Kapitel 1 Aufbruch ins Programmierabenteuer 14

Das 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 Der Trick mit der Codierung 16 So hoch

Mehr

C/C++ - Kompendium - PDF

C/C++ - Kompendium - PDF C/C++ Kompendium Die Deutsche Bibliothek CIP-Einheitsaufnahme Ein Titeldatensatz für diese Publikation ist bei Der Deutschen Bibliothek erhältlich. Die Informationen in diesem Buch werden ohne Rücksicht

Mehr

TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4

TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4 Inhaltsverzeichnis TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA... 1 1 GRUNDLAGEN DER PROGRAMMIERUNG... 4 1.1 Das erste Java-Programm... 4 1.2 Programme und ihre Abläufe... 6 1.3 Entwurf mit Nassi-Shneiderman-Diagrammen...

Mehr

Mikrorechentechnik II. Klassen in C++

Mikrorechentechnik 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

Mehr

Programmierung III. Pointer für Fortgeschrittene Marc Ruberg. Arrays von Pointern ( Zeigervektoren ): Pointer auf Pointer:

Programmierung 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

Mehr

Objektorientierte Programmierung mit C++ SS 2007

Objektorientierte 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

Mehr

Alexander Niemann. Das Einsteigerseminar" < Objektorientierte ^ Programmierung in Java. bhv. i.-

Alexander Niemann. Das Einsteigerseminar < Objektorientierte ^ Programmierung in Java. bhv. i.- Alexander Niemann Das Einsteigerseminar" < Objektorientierte ^ Programmierung in Java i.- bhv Vorwort 11 Einleitung 13 Lernen - Üben 13 Über dieses Buch 14 Teil \ LöRTEn ;...-.,-......Al f Java 19 Die

Mehr

Berichte aus der Informatik. Dieter Pawelczak. Start in die C-Programmierung

Berichte aus der Informatik. Dieter Pawelczak. Start in die C-Programmierung Berichte aus der Informatik Dieter Pawelczak Start in die C-Programmierung Shaker Verlag Aachen 2012 Inhaltsverzeichnis Inhaltsverzeichnis i 1 Einleitung 1 1.1 Umfeld und Aufbau des Buches 1 Die Programmiersprache

Mehr

Grundkurs C++ IDE Klassenhierarchien

Grundkurs 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

Grundkurs Programmieren in Java

Grundkurs Programmieren in Java Grundkurs Programmieren in Java Jens Scheffler, Dietmar Ratz, Jan Wiesenberger, Detlef Seese Band 1: Der Einstieg in Programmierung und Objektorientierung ISBN 3-446-40493-7 Inhaltsverzeichnis Weitere

Mehr

Grundkurs C++ IDE Klassenhierarchien

Grundkurs 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

Mehr

Repetitorium Informatik (Java)

Repetitorium 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

Mehr

Das Einsteigerseminar Objektorientierte Programmierung in Java

Das Einsteigerseminar Objektorientierte Programmierung in Java Alexander Niemann Das Einsteigerseminar Objektorientierte Programmierung in Java -H-H Inhalt Vorwort 13 Einleitung 15 1 Java 21 1.1 Die Geschichte von Java 22 1.2 Das Konzept 24 Klassisch - Compiler und

Mehr

Die С ++-Programmiersprache

Die С ++-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.

Mehr

Einstieg in die Informatik mit Java

Einstieg 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

Mehr

Inhaltsverzeichnis 1 Der objektorientierte Ansatz 2 Elementare Objekte und Ausdrücke

Inhaltsverzeichnis 1 Der objektorientierte Ansatz 2 Elementare Objekte und Ausdrücke Inhaltsverzeichnis 1 Der objektorientierte Ansatz... 1 1.1 Ein einführendes Beispiel...2 1.1.1 Aktive Objekte...4 1.1.2 Klassifikation...4 1.1.3 Datenkapselung...6 1.2 OOP im Überblick...6 1.3 Programmaufbau...7

Mehr

Grundkurs Programmieren in Java Band 1: Der Einstieg in Programmierung und Objektorientierung

Grundkurs Programmieren in Java Band 1: Der Einstieg in Programmierung und Objektorientierung Dietmar Ratz, Jens Scheffler, Detlef Seese, Jan Wiesenberger Grundkurs Programmieren in Java Band 1: Der Einstieg in Programmierung und Objektorientierung ISBN-10: 3-446-41268-9 ISBN-13: 978-3-446-41268-2

Mehr

Überblick. Überblick zum weiteren Inhalt

Ü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

Mehr

Jürgen Wolf. C++ von A bis Z. Das umfassende Handbuch. Galileo Press

Jürgen Wolf. C++ von A bis Z. Das umfassende Handbuch. Galileo Press Jürgen Wolf C++ von A bis Z Das umfassende Handbuch Galileo Press Auf einen Blick 1 Grundlagen in C++ 25 2 Höhere und fortgeschrittene Datentypen 133 3 Gültigkeitsbereiche, spezielle Deklarationen und

Mehr

Thomas Binzinger. Jetzt lerne ich. Delphi. Markt+Technik Verlag

Thomas Binzinger. Jetzt lerne ich. Delphi. Markt+Technik Verlag Thomas Binzinger Jetzt lerne ich Delphi Markt+Technik Verlag Inhaltsverzeichnis Vorwort 1 1.1 1.2 1.3 1.4 2 2.1 2.2 2.3 3 3.1 3.2 3.3 3.4 3.5 3.6 4 4.1 4.2 4.3 4.4 4.5 4.6 5 5.1 5.2 5.3 Was ist Delphi?

Mehr

Polymorphismus 179. Function.h. #include <string>

Polymorphismus 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

Mehr

DAP2-Programmierpraktikum Einführung in C++ (Teil 2)

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

Mehr

1. Organisatorisches, Aufbau eines Computers, Erstellung eines Programmes, Algorithmen und Programme, Grundlagen der Zahlendarstellung

1. Organisatorisches, Aufbau eines Computers, Erstellung eines Programmes, Algorithmen und Programme, Grundlagen der Zahlendarstellung 1. Organisatorisches, Aufbau eines Computers, Erstellung eines Programmes, Algorithmen und Programme, Grundlagen der Zahlendarstellung 1. Organisatorisches, Aufbau eines Computers, Erstellung eines Programmes,

Mehr

Objektorientierung. Helmut Herold Michael Klar Susanne Klar ^-ADDISON-WESLEY. An imprint of Pearson Education

Objektorientierung. Helmut Herold Michael Klar Susanne Klar ^-ADDISON-WESLEY. An imprint of Pearson Education Helmut Herold Michael Klar Susanne Klar Objektorientierung ^-ADDISON-WESLEY An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City Madrid Amsterdam

Mehr

C++ - Objektorientierte Programmierung Vererbung

C++ - 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.

Mehr

C++ Teil 12. Sven Groß. 18. Jan Sven Groß (IGPM, RWTH Aachen) C++ Teil Jan / 11

C++ Teil 12. Sven Groß. 18. Jan Sven Groß (IGPM, RWTH Aachen) C++ Teil Jan / 11 C++ Teil 12 Sven Groß 18. Jan 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 12 18. Jan 2016 1 / 11 Themen der letzten Vorlesung Wiederholung aller bisherigen Themen: Datentypen und Variablen Operatoren Kontrollstrukturen

Mehr

Grundkurs Programmieren in Java

Grundkurs Programmieren in Java Grundkurs Programmieren in Java Band 1: Der Einstieg in Programmierung und Objektorientierung von Dietmar Ratz, Jens Scheffler, Detlef Seese 2. Auflage Hanser München 2004 Verlag C.H. Beck im Internet:

Mehr

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

Mehr

C++ Klassen, Vererbung. Philipp Lucas. Sebastian Hack. Wintersemester 2008/09. saarland.

C++ Klassen, Vererbung. Philipp Lucas. Sebastian Hack. Wintersemester 2008/09. saarland. C++ Klassen, Vererbung Philipp Lucas phlucas@cs.uni-sb.de Sebastian Hack hack@cs.uni-sb.de Wintersemester 2008/09 saarland university computer science 1 Inhalt Klassen in C++ Sichtbarkeit Erzeugen von

Mehr

Grundkurs Software- Entwicklung mit C++

Grundkurs Software- Entwicklung mit C++ Dietrich May Grundkurs Software- Entwicklung mit C++ Praxisorientierte Einführung mit Beispielen und Aufgaben- Exzellente Didaktik und Übersicht Mit 30 Abbildungen 2., überarbeitete und erweiterte Auflage

Mehr

C++ - Objektorientierte Programmierung Konstante und statische Elemente

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

Mehr

Ulrich Kaiser Christoph Kecher C/C++ Von den Grundlagen zur professionellen Programmierung. в.. Galileo Computing

Ulrich Kaiser Christoph Kecher C/C++ Von den Grundlagen zur professionellen Programmierung. в.. Galileo Computing Ulrich Kaiser Christoph Kecher C/C++ Von den Grundlagen zur professionellen Programmierung в.. Galileo Computing Inhalt Vorwort 15 Danksagung 16 Vorwort zur zweiten Auflage 1 Einige Grundbegriffe 1.1 Algorithmus

Mehr

Objektorientierte Programmierung III

Objektorientierte 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

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Bernhard Lahres, Gregor Rayman Objektorientierte Programmierung Das umfassende Handbuch Galileo Press 1.1 Was ist Objektorientierung? 13 1.2 Hallo liebe Zielgruppe 14 1.3 Was bietet dieses Buch (und was

Mehr

OOP. Kapselung: Gruppierung von Daten und Funktionen als Objekte. Definieren eine Schnittstelle zu diesen Objekten.

OOP. 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.

Mehr

7. Übung Informatik II - Objektorientierte Programmierung

7. Ü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

Mehr

Objektorientiertes Programmieren

Objektorientiertes Programmieren JL Ute Claussen Objektorientiertes Programmieren Mit Beispielen und Übungen in C++ Zweite, überarbeitete und erweiterte Auflage Mit 24 Abbildungen Springer Inhaltsverzeichnis 1 Einleitung 1 1.1 Was ist

Mehr

HSR Rapperswil 2001 Markus Rigling. Programmieren: Vererbung. 1 Variante 2

HSR 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

Mehr

Objektorientierte Programmierung in Java

Objektorientierte Programmierung in Java Objektorientierte Programmierung in Java 1. Auflage Taschenbuch. Paperback ISBN 978 3 8266 7414 3 Weitere Fachgebiete > EDV, Informatik > Programmiersprachen: Methoden > Prozedurorientierte Programmierung

Mehr

Einstieg in die Informatik mit Java

Einstieg 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

Mehr

OOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik

OOP 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

Vererbung, Polymorphie

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

Mehr

Programmierkurs C++ Templates & STL (1/2)

Programmierkurs C++ Templates & STL (1/2) Programmierkurs C++ Templates & STL (1/2) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/fischer #2 Templates Die wichtigsten objekt-orientierten

Mehr

Überblick. 5. Objekt und Klasse, Elementfunktionen

Ü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

Mehr

Lösung der OOP-Prüfung WS12/13

Lösung der OOP-Prüfung WS12/13 2.1.2013 Lösung der OOP-Prüfung WS12/13 1. Aufgabe a) Da der Konstruktor im protected-bereich steht, können keine eigenständigen Objekte der Klasse angelegt werden. Durch den protected-konstruktor wird

Mehr

Programmieren mit Java

Programmieren mit Java Reinhard Schiedermeier Programmieren mit Java 2., aktualisierte Auflage ein Imprint von Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City Madrid Amsterdam

Mehr

Programmieren in C++ Vererbung

Programmieren in C++ Vererbung Programmieren in C++ Vererbung Inhalt Vererbung Konstruktoren und Destruktor von abgeleiteten Klassen Typkonvertierung von Zeigern Identifikation der Klasse eines Objekts Überladen von Methoden Verdecken

Mehr

С als erste Programmiersprache

С als erste Programmiersprache Joachim Goll Ulrich Bröckl Manfred Dausmann С als erste Programmiersprache Vom Einsteiger zum Profi 4., überarbeitete und erweiterte Auflage Teubner B.G.Teubner Stuttgart Leipzig Wiesbaden 1 2 3 4 5 GRUNDBEGRIFFE

Mehr

Inhaltsverzeichnis. Heiko Kalista. C++ für Spieleprogrammierer. ISBN (Buch): ISBN (E-Book):

Inhaltsverzeichnis. Heiko Kalista. C++ für Spieleprogrammierer. ISBN (Buch): ISBN (E-Book): Inhaltsverzeichnis Heiko Kalista C++ für Spieleprogrammierer ISBN (Buch): 978-3-446-4326- ISBN (E-Book): 978-3-446-43395-3 Weitere Informationen oder Bestellungen unter http://www.hanser-fachbuch.de/978-3-446-4326-

Mehr

Manfred Schüttengruber. Objektorientierte Programmierung mit Visual Basic 2005

Manfred Schüttengruber. Objektorientierte Programmierung mit Visual Basic 2005 Manfred Schüttengruber Objektorientierte Programmierung mit Visual Basic 2005 Inhaltsverzeichnis Vorwort 11 i Das.NET-Konzept 15 I.I Kapitelüberblick 15 i.2 Das.NET Framework 15 1.3 IL-Code und Plattformunabhängigkeit

Mehr

Programmierung und Angewandte Mathematik

Programmierung und Angewandte Mathematik Programmierung und Angewandte Mathematik C++ /Scilab Programmierung und Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens SS 2012 Ziele Sie wissen, was Vererbung

Mehr

Stichwortverzeichnis C++

Stichwortverzeichnis C++ Stichwortverzeichnis zu C++ von Dirk Louis ISBN (Buch): 978-3-446-44069-2 ISBN (E-Book): 978-3-446-44109-5 Weitere Informationen und Bestellungen unter http://www.hanser-fachbuch.de/978-3-446-44069-2 sowie

Mehr

Praxisbuch Objektorientierung

Praxisbuch Objektorientierung Bernhard Lahres, Gregor Rayman Praxisbuch Objektorientierung Von den Grundlagen zur Umsetzung Galileo Press 1.1 Was ist Objektorientierung? 11 1.2 Hallo liebe Zielgruppe 12 1.3 Was bietet dieses Buch (und

Mehr

Jürgen Wolf. C++ von A bis Z. Das umfassende Handbuch. Galileo Press

Jürgen Wolf. C++ von A bis Z. Das umfassende Handbuch. Galileo Press Jürgen Wolf C++ von A bis Z Das umfassende Handbuch 'S Galileo Press Vorwort 17 Vorwort des Fachgutachters 23 1.1 Die Entstehung von C++ 25 1.1.1 Aufbau von C++ 27 1.2 Erste Schritte der C++-Programmierung

Mehr

Einführung in die Programmierung mit C++

Einfü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

Mehr

Prof. W. Henrich Seite 1

Prof. 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

Mehr

Objektorientierte Programmierung mit Java

Objektorientierte 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

Mehr

Einstieg in die Informatik mit Java

Einstieg 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

Mehr

Objektorientierte Programmierung und Klassen

Objektorientierte Programmierung und Klassen Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 16.5.07 G. Bohlender (IANM UNI Karlsruhe) OOP

Mehr

Objektorientiertes Programmieren mit C++ für Fortgeschrittene

Objektorientiertes Programmieren mit C++ für Fortgeschrittene BEREICH DATENTECHNIK I CQ 400 00 TH 02 Objektorientiertes Programmieren mit C++ für Fortgeschrittene Kapitel 4 4. Ergänzungen zur Laufzeitpolymorphie 4.1. Abstrakte Klassen 4.2. Laufzeittypinformation

Mehr

7 Vererbung. Modul Programmieren mit C++ Kapitel Vererbung

7 Vererbung. Modul Programmieren mit C++ Kapitel Vererbung 7.1 7 Vererbung Eine von der Basisklasse B abgeleitete Klasse A erbt alle Attribute und Methoden von B. Ein Objekt der Klasse A besitzt ein Slice der Klasse B und ein Slice der Klasse A. Jeder Konstruktor

Mehr

C für Java-Programmierer

C für Java-Programmierer Carsten Vogt C für Java-Programmierer ISBN-10: 3-446-40797-9 ISBN-13: 978-3-446-40797-8 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-40797-8 sowie im

Mehr

C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern

C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung Eltern Kind Kind Vererbung Definition von Klassen auf Basis von bestehenden Klassen. Implementierung von ist ein. bildet ein hierarchisches

Mehr

Programmieren in Java

Programmieren in Java Einführung in die Objektorientierung Teil 4 Interfaces, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware

Mehr

C++ für Dummies. Stephen R. Davis. Gegen den täglichen Frust mit C++ Übersetzung aus dem Amerikanischen: Judith Muhr.

C++ für Dummies. Stephen R. Davis. Gegen den täglichen Frust mit C++ Übersetzung aus dem Amerikanischen: Judith Muhr. 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

Mehr

Grundkurs Programmieren in Java

Grundkurs Programmieren in Java Dietmar Ratz Jens Scheffler Detlef Seese Jan Wiesenberger Grundkurs Programmieren in Java Band 1: Der Einstieg in Programmierung und Objektorientierung 4 V iiberarbeitete Auflage HANSER Vorwort 13 1 Einleitung

Mehr

Vorwort 21. Teil I: Einführung in C++ 25

Vorwort 21. Teil I: Einführung in C++ 25 Vorwort 21 Teil I: Einführung in C++ 25 1 Es geht los! 27 1.1 Historisches 27 1.2 Objektorientierte Programmierung 28 1.3 Compiler 31 1.4 Das erste Programm 31 1.4.1 Namenskonventionen 36 1.5 Integrierte

Mehr

Inhaltsverzeichnis. Heiko Kalista. C++ für Spieleprogrammierer ISBN: Weitere Informationen oder Bestellungen unter

Inhaltsverzeichnis. Heiko Kalista. C++ für Spieleprogrammierer ISBN: Weitere Informationen oder Bestellungen unter sverzeichnis Heiko Kalista C++ für Spieleprogrammierer ISBN: 978-3-446-42140-0 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42140-0 sowie im Buchhandel. Carl Hanser Verlag,

Mehr

Tom Swan. C++ lernen. Eine systematische Einführung in die objektorientierte

Tom Swan. C++ lernen. Eine systematische Einführung in die objektorientierte Tom Swan C++ lernen Eine systematische Einführung in die objektorientierte Programmiersprache C++ Systhema Verlag GmbH München 1991 Inhaltsverzeichnis Widmung 5 Überblick 7 Danksagung 17 Einführung 19

Mehr

Komplette EclipseUmgebungaufCD. Studienausgabe

Komplette EclipseUmgebungaufCD. Studienausgabe FRANZIS PROFESSIONALSERIES Komplette EclipseUmgebungaufCD Studienausgabe 5 Inhaltsverzeichnis 1 Einleitung 17 1.1 Warum dieses Buch? 17 1.2 Für wen? 17 1.3 Was erwartet Sie? 18 1.4 Was erwartet Sie nicht?

Mehr