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

Größe: px
Ab Seite anzeigen:

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

Transkript

1 Vorwort 21 Teil I: Einführung in C Es geht los! Historisches Objektorientierte Programmierung Compiler Das erste Programm Namenskonventionen Integrierte Entwicklungsumgebungen Code::Blocks Eclipse Einfache Datentypen und Operatoren Ausdruck Ganze Zahlen Reelle Zahlen Konstante Zeichen Logischer Datentyp bool Referenzen Regeln zum Bilden von Ausdrücken Standard-Typumwandlungen 57 Bibliografische Informationen digitalisiert durch

2 Inhalt 1.7 Gültigkeitsbereich und Sichtbarkeit Namespace std Kontrollstrukturen Anweisungen Sequenz (Reihung) Auswahl (Selektion, Verzweigung) Fallunterscheidungen mit switch Wiederholungen Kontrolle mit break und continue Benutzerdefinierte und zusammengesetzte Datentypen Aufzählungstypen Arrays: Der C++-Standardtyp vector Zeichenketten: Der C++-Standardtyp string Strukturen Typermittlung mit auto Unions und Bitfelder 91 2 Einfache Ein- und Ausgabe Standardein- und -ausgäbe Ein- und Ausgabe mit Dateien 96 3 Programmstrukturierung Funktionen Aufbau und Prototypen Gültigkeitsbereiche und Sichtbarkeit in Funktionen Lokale static-variable: Funktion mit Gedächtnis Schnittstellen zum Datentransfer Übergabe per Wert Übergabe per Referenz Gefahren bei der Rückgabe von Referenzen Vorgegebene Parameterwerte und variable Parameterzahl Überladen von Funktionen Funktion maino Beispiel Taschenrechnersimulation Spezifikation von Funktionen Modulare Programmgestaltung Steuerung der Übersetzung nur mit #include Einbinden vorübersetzter Programmteile 123

3 Inhalt Dateiübergreifende Gültigkeit und Sichtbarkeit Übersetzungseinheit, Deklaration, Definition Compilerdirektiven und Makros Funktions-Templates Spezialisierung von Templates Einbinden von Templates inline-funktionen Namensräume C++-Header Einbinden von C-Funktionen Objektorientierung Abstrakte Datentypen Klassen und Objekte inline-elementfunktionen Initialisierung und Konstruktoren Standardkonstruktor Allgemeine Konstruktoren Kopierkonstruktor Typumwandlungskonstruktor Beispiel: Rationale Zahlen Aufgabenstellung Entwurf Implementation const-objekte und Methoden Destruktoren Wie kommt man zu Klassen und Objekten? Ein Beispiel Einige Analyse-Überlegungen Formulierung des Szenarios in C Gegenseitige Abhängigkeit von Klassen Konstruktor und mehr vorgeben oder verbieten Delegierender Konstruktor Intermezzo: Zeiger Zeiger und Adressen C-Arrays C-Arrays und sizeof Indexoperator bei C-Arrays 191

4 8 Inhalt Initialisierung von C-Arrays Zeigerarithmetik C-Zeichenketten Dynamische Datenobjekte Freigeben dynamischer Objekte Zeiger und Funktionen Parameterübergabe mit Zeigern Parameter des main-programms Gefahren bei der Rückgabe von Zeigern this-zeiger Mehrdimensionale C-Arrays Statische mehrdimensionale C-Arrays Dynamisch erzeugte mehrdimensionale Arrays Klasse für dynamisches zweidimensionales Array Binäre Ein-/Ausgabe Zeiger auf Funktionen Komplexe Deklarationen lesen Standard-Typumwandlungen für Zeiger Zeiger auf Elementfunktionen und -daten Zeiger auf Elementfunktionen Zeiger auf Elementdaten Objektorientierung Eine String-Klasse Optimierung der Klasse MeinString friend-funktionen Klassenspezifische Daten und Funktionen Klassenspezifische Konstante Klassen-Templates Ein Stack-Template Stack mit statisch festgelegter Größe Template-Metaprogrammierung Variadic Templates : Templates mit variabler Parameterzahl Vererbung Vererbung und Initialisierung Zugriffsschutz Typbeziehung zwischen Ober- und Unterklasse 266

5 Inhalt 7.4 Code-Wiederverwendung Überschreiben von Funktionen in abgeleiteten Klassen Polymorphismus Virtuelle Funktionen Abstrakte Klassen Virtueller Destruktor Probleme der Modellierung mit Vererbung ' Mehrfachvererbung Namenskonflikte Virtuelle Basisklassen Standard-Typumwandlungsoperatoren Typinformationen zur Laufzeit Using-Deklaration für Klassen Private- und Protected-Vererbung Fehlerbehandlung Ausnahmebehandlung Exception-Spezifikation in Deklarationen Exception-Hiérarchie in C Besondere Fehlerbehandlungsfunktionen Erkennen logischer Fehler Arithmetische Fehler / Division durch Speicherbeschaffung mit new Exception-Sicherheit Überladen von Operatoren Rationale Zahlen - noch einmal Arithmetische Operatoren Ausgabeoperator « Eine Klasse für Vektoren Index-Operator [] Zuweisungsoperator = Mathematische Vektoren Multiplikationsoperator Inkrement-Operator Typumwandlungsoperator Smart Pointer: Operatoren -> und* Smart Pointer und die C++-Standardbibliothek 344

6 10 Inhalt 9.6 Objekt als Funktion Lambda-Funktionen new und delete überladen Speichermanagement mit malloc und free Unterscheidung zwischen Heap- und Stack-Objekten Fehlende delete-anweisung entdecken Eigene Speicherverwaltung Empfehlungen im Umgang mit new und delete Mehrdimensionale Matrizen Zweidimensionale Matrix als Vektor von Vektoren Dreidimensionale Matrix Zuweisung bei Vererbung Dateien und Ströme Ausgabe Formatierung der Ausgabe Eingabe Manipulatoren Eigene Manipulatoren Fehlerbehandlung Typumwandlung von Dateiobjekten nachbool Arbeit mit Dateien Positionierung in Dateien Lesen und Schreiben in derselben Datei Umleitung auf Strings Ergänzungen Einführung in die Standard Template Library (STL) Container, Iteratoren, Algorithmen Iteratoren im Detail Beispiel verkettete Liste Reguläre Ausdrücke Elemente regulärer Ausdrücke Greedy oder lazy? Interaktive Auswertung Auszug des regex-apis Anwendungen 418

7 Inhalt Threads Die Klasse thread Synchronisation Thread-Group Thread-Steuerung: pausieren, fortsetzen, beenden Interrupt Warten auf Ereignisse Reader/Writer-Problem Wenn Threads verhungern Reader/Writer-Varianten Thread-Sicherheit 448 Teil II: Bausteine komplexer Anwendungen Grafische Benutzungsschnittstellen Ereignisgesteuerte Programmierung GUI-Programmierung mit Qt Meta-Objektsystem Der Programmablauf Speicher sparen und lokal Daten sichern Signale, Slots und Widgets Dialog Qt oder Boost? Threads Verzeichnisbaum durchwandern Internet-Anbindung Protokolle Adressen Socket Bidirektionale Kommunikation UDP-Sockets Atomuhr mit UDP abfragen HTTP Verbindung mit GET Verbindung mit POST Mini-Webserver 494

8 12 Inhalt 16 Datenbankanbindung C++-Interface Anwendungsbeispiel 508 Teil III: Praktische Methoden und Werkzeuge der Softwareentwicklung Abläufe automatisieren mit make Quellen Wirkungsweise Variablen und Muster Universelles Makefile für einfache Projekte Unit-Test Werkzeuge Test Driven Development Boost Unit Test Framework Beispiel: Testgetriebene Entwicklung einer Operatorfunktion Fixture Testprotokoll und Log-Level Prüf-Makros Kommandozeilen-Optionen Werkzeuge zur Verwaltung von Projekten Dokumentation und Strukturanalyse mit doxygen Strukturanalyse Versionskontrolle Einrichtung des Servers Exemplarische Benutzung Projektverwaltung Projektmanagement Wiki für Software-Entwicklungsprojekte 553 Teil IV: Das C++-Rezeptbuch: Tipps und Lösungen für typische Aufgaben Sichere Programmentwicklung Regeln zum Design von Methoden Defensive Programmierung double-und float-werte richtig vergleichen 561

9 Inhalt const verwenden Anweisungen nach for/if/while einklammern int und unsigned/size_t nicht mischen size_t oder auto statt unsigned int verwenden Postfix++ mit Präfix++ implementieren Ein Destruktor darf keine Exception werfen Typumwandlungsoperatoren vermeiden explicit-konstruktoren bevorzugen Leere Standardkonstruktoren vermeiden Kopieren und Zuweisung verbieten Vererbung verbieten Defensiv Objekte löschen Exception-sichere Beschaffung von Ressourcen Sichere Verwendung von shared_ptr shared_ptr für Arrays korrekt verwenden unique_ptr für Arrays korrekt verwenden Exception-sichere Funktion Exception-sicherer Konstruktor Exception-sichere Zuweisung Aussagefähige Fehlermeldung ohne neuen String erzeugen Empfehlungen zur Thread-Programmierung Warten auf die Freigabe von Ressourcen Deadlock-Vermeidung notify_all oder notify_one? Performance mit Threads verbessern? Von der UML nach C Vererbung Interface anbieten und nutzen Assoziation Aggregation Komposition Performance, Wert- und Referenzsemantik Performanceproblem Wertsemantik Auslassen der Kopie Temporäre Objekte bei der Zuweisung Optimierung durch Referenzsemantik für R-Werte 591

10 14 Inhalt Bewegender Konstruktor Bewegender Zuweisungsoperator Ein effizienter binärer Plusoperator Kopien temporärer Objekte eliminieren Verbesserung durch verzögerte Auswertung Effektive Programmerzeugung Automatische Ermittlung von Abhängigkeiten Getrennte Verzeichnisse: src, obj, bin Makefile für Verzeichnisbäume Rekursive Make-Aufrufe Ein Makefile für alles Automatische Erzeugung von Makefiles Makefile für rekursive Aufrufe erzeugen Erzeugen von Bibliotheken Statische Bibliotheksmodule Dynamische Bibliotheksmodule GNU Autotools CMake Code Bloat bei der Instanziierung von Templates vermeiden extern-template Aufspaltung in Schnittstelle und Implementation Algorithmen für verschiedene Aufgaben Algorithmen mit Strings String spürten String in Zahl umwandeln Zahl in String umwandeln Strings sprachlich richtig sortieren Umwandlung in Klein- bzw. Großschreibung Strings sprachlich richtig vergleichen Von der Groß-/Kleinschreibung unabhängiger Zeichenvergleich Von der Groß-/Kleinschreibung unabhängige Suche Textverarbeitung Datei durchsuchen Ersetzungen in einer Datei Code-Formatierer Lines of Code (LOC) ermitteln 641

11 Inhalt Zeilen, Wörter und Zeichen einer Datei zählen CSV-Datei lesen Kreuzreferenzliste Operationen auf Folgen Container anzeigen Folge mit gleichen Werten initialisieren Folge mit Werten eines Generators initialisieren Folge mit fortlaufenden Werten initialisieren Summe und Produkt Mittelwert und Standardabweichung Skalarprodukt Folge der Teilsummen oder -produkte Folge der Differenzen Minimum und Maximum Elemente rotieren Elemente verwürfein Dubletten entfernen Reihenfolge umdrehen Anzahl der Elemente, die einer Bedingung genügen Gilt X für alle, keins oder wenigstens ein Element einer Folge? Permutationen Lexikografischer Vergleich Sortieren und Verwandtes Partitionieren Sortieren Stabiles Sortieren Partielles Sortieren Das n.-größte oder n.-kleinste Element finden Verschmelzen (merge) Suchen und Finden Element finden Element einer Menge in der Folge finden Teilfolge finden Bestimmte benachbarte Elemente finden Bestimmte aufeinanderfolgende Werte finden Binäre Suche Mengenoperationen auf sortierten Strukturen 684

12 16 Inhalt Teilmengenrelation Vereinigung Schnittmenge Differenz Symmetrische Differenz Heap-Algorithmen popjieap pushjieap makejieap sortjieap isjieap Vergleich von Containern auch ungleichen Typs Unterschiedliche Elemente finden Prüfung auf gleiche Inhalte Rechnen mit komplexen Zahlen: Der C++-Standardtyp complex Schnelle zweidimensionale Matrix Optimierung mathematischer Array-Operationen Singleton Implementierung mit einem Zeiger Implementierung mit einer Referenz Meyers' Singleton Vermischtes Erkennung eines Datums Erkennung einer IP-Adresse Erzeugen von Zufallszahlen for_each - Auf jedem Element eine Funktion ausführen Verschiedene Möglichkeiten, Container-Bereiche zu kopieren Vertauschen von Elementen, Bereichen und Containern Elemente transformieren Ersetzen und Varianten Elemente herausfiltern Grenzwerte von Zahltypen Minimum und Maximum Ein- und Ausgabe Datei- und Verzeichnisoperationen Datei oder Verzeichnis löschen 728

13 Inhalt Datei oder Verzeichnis umbenennen Verzeichnis anlegen Verzeichnis anzeigen Verzeichnisbaum anzeigen Tabelle formatiert ausgeben Formatierte Daten lesen Eingabe benutzerdefinierter Typen Array als Block lesen oder schreiben 737 Teil V: Die C++-Standardbibliothek Aufbau und Übersicht Auslassungen Beispiele des Buchs und die C++-Standardbibliothek Hilfsfunktionen und -klassen Relationale Operatoren Unterstützung der Referenzsemantik für R-Werte Paare Tupel Funktionsobjekte Arithmetische, vergleichende und logische Operationen Funktionsobjekte zum Negieren logischer Prädikate Binden von Argumentwerten Funktionen in Objekte umwandeln Templates für rationale Zahlen Zeit und Dauer Hüllklasse für Referenzen Container Gemeinsame Eigenschaften Initialisierungslisten Konstruktion an Ort und Stelle Reversible Container Sequenzen vector vector<bool> list 772

14 18 Inhalt deque stack queue priority_queue array Sortierte assoziative Container map multimap set multiset Hash-Container unordered_map unordered_multimap unordered_set unordered_multiset bitset Iteratoren Iterator-Kategorien Anwendung von Traits distancefj und advancefj Reverse-Iteratoren Insert-Iteratoren Stream-Iteratoren Algorithmen Algorithmen mit Prädikat Algorithmen mit binärem Prädikat Übersicht Nationale Besonderheiten Sprachumgebungen festlegen und ändern Die locale-funktionen Zeichensätze und -Codierung Zeichenklassifizierung und -Umwandlung Kategorien collate ctype 831

15 Inhalt numeric monetary time messages Konstruktion eigener Facetten String Speichermanagement Smart Pointer unique_ptr, shared_ptr, weak_ptr new mit vorgegebenem Speicherort Hilfsfunktionen Optimierte numerische Arrays (valarray) Konstruktoren Elementfunktionen Binäre Valarray-Operatoren Mathematische Funktionen slice und slice_array gslice und gslice_array mask_array indirect_array C-Header <cassert> <cctype> <cerrno> <cmath> <cstdarg> <cstddef> <cstdio> <cstdlib> <cstring> <ctime> 881 A Anhang 883 A.1 Programmierhinweise 883 A.2 C++-Schlüsselwörter 887 A.3 ASCn-Tabelle 887

16 20 Inhalt A.4 Rangfolge der Operatoren 890 A.5 Compilerbefehle 891 A.6 Lösungen zu den Übungsaufgaben 892 A.7 Installation der DVD-Software für Windows 937 A.7.1 Installation des Compilers und der Entwicklungsumgebung 937 A.7.2 Installation der Boost-Bibliothek 937 A.7.3 Installation von Qt 938 A.7.4 Codeblocks einrichten 938 A.7.5 Integration von Qt in ein Code::Blocks-Projekt 940 A.7.6 Bei Verzicht auf die automatische Installation 941 A.8 Installation der DVD-Software für Linux 942 A.8.1 Installation des Compilers 942 A.8.2 Installation von Boost 943 A.8.3 Installation von Code::Blocks 944 A.8.4 Code-Blocks einrichten 945 A.8.5 Beispieldateien entpacken 946 A.8.6 Installation von Qt4 946 A.8.7 Integration von Qt in ein Code::Blocks-Projekt 947 Glossar 949 Literaturverzeichnis 959 Register 963

C++ DER PROGRAMMIERER C++ LERNEN PROFESSIONELL ANWENDEN LÖSUNGEN NUTZEN. EXTRA: Mit kostenlosem E-Book. ulrich BREYMANN. 2.

C++ DER PROGRAMMIERER C++ LERNEN PROFESSIONELL ANWENDEN LÖSUNGEN NUTZEN. EXTRA: Mit kostenlosem E-Book. ulrich BREYMANN. 2. 2. Auflage ulrich BREYMANN C++ DER PROGRAMMIERER C++ LERNEN PROFESSIONELL ANWENDEN LÖSUNGEN NUTZEN EXTRA: Mit kostenlosem E-Book Auf DVD: Entwicklungsumgebung, Compiler, weitere Tools, alle Beispiele des

Mehr

C++ DER PROGRAMMIERER C++ LERNEN PROFESSIONELL ANWENDEN LÖSUNGEN NUTZEN. EXTRA: Mit kostenlosem E-Book. ulrich BREYMANN. 2.

C++ DER PROGRAMMIERER C++ LERNEN PROFESSIONELL ANWENDEN LÖSUNGEN NUTZEN. EXTRA: Mit kostenlosem E-Book. ulrich BREYMANN. 2. 2. Auflage ulrich BREYMANN C++ DER PROGRAMMIERER C++ LERNEN PROFESSIONELL ANWENDEN LÖSUNGEN NUTZEN EXTRA: Mit kostenlosem E-Book Auf DVD: Entwicklungsumgebung, Compiler, weitere Tools, alle Beispiele des

Mehr

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

Vorwort... 25. Teil I: Einführung in C++... 29 Inhalt Vorwort... 25 Teil I: Einführung in C++... 29 1 Es geht los!... 31 1.1 Historisches... 31 1.2 Objektorientierte Programmierung... 32 1.3 Compiler... 34 1.4 Das erste Programm... 35 1.4.1 Namenskonventionen...

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

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

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

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

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

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

C++ Kochbuch. O'REILT Beijing Cambridge Farnham Köln Paris Sebastopol Taipei Tokyo

C++ Kochbuch. O'REILT Beijing Cambridge Farnham Köln Paris Sebastopol Taipei Tokyo C++ Kochbuch D. Ryan Stephens, Christopher Diggins, Jonathan Turkanis & Jeff Cogswell Deutsche Übersetzung von Andreas Heck & Thomas Demmig O'REILT Beijing Cambridge Farnham Köln Paris Sebastopol Taipei

Mehr

Vorwort. Ulrich Breymann. Der C++-Programmierer. C++ lernen - Professionell anwenden - Lösungen nutzen ISBN: 978-3-446-41644-4

Vorwort. Ulrich Breymann. Der C++-Programmierer. C++ lernen - Professionell anwenden - Lösungen nutzen ISBN: 978-3-446-41644-4 Vorwort Ulrich Breymann Der C++-Programmierer C++ lernen - Professionell anwenden - Lösungen nutzen ISBN: 978-3-446-41644-4 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41644-4

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

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

Der C++-Programmierer, 4. Auflage

Der C++-Programmierer, 4. Auflage Leseprobe zu Der C++-Programmierer, 4. Auflage von Ulrich Breymann ISBN (Buch): 978-3-446-44346-4 ISBN (E-Book): 978-3-446-44404-1 Weitere Informationen und Bestellungen unter http://www.hanser-fachbuch.de/978-3-446-44346-4

Mehr

Programmieren in C++ Überladen von Methoden und Operatoren

Programmieren in C++ Überladen von Methoden und Operatoren Programmieren in C++ Überladen von Methoden und Operatoren Inhalt Überladen von Methoden Überladen von Operatoren Implizite und explizite Konvertierungsoperatoren 7-2 Überladen von Methoden Signatur einer

Mehr

Inhaltsverzeichnis. Teil I Einführung in die C++-Programmierung 25. Einführung 19. Kapitel 1 Ihr erstes C++-Programm 27

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

Mehr

1 Einführung... 13. 2 Erste Schritte... 19. 3 Programmierkurs... 33. 4 Datentypen... 81. 5 Weiterführende Programmierung... 139

1 Einführung... 13. 2 Erste Schritte... 19. 3 Programmierkurs... 33. 4 Datentypen... 81. 5 Weiterführende Programmierung... 139 Auf einen Blick 1 Einführung... 13 2 Erste Schritte... 19 3 Programmierkurs... 33 4 Datentypen... 81 5 Weiterführende Programmierung... 139 6 Objektorientierte Programmierung... 191 7 Verschiedene Module...

Mehr

Seit meinem letzten Buch über Visual C++ 2008 hat sich viel verändert:

Seit meinem letzten Buch über Visual C++ 2008 hat sich viel verändert: Vorläufiges Vorwort Dieses Buch entstand aus zahlreichen Vorlesungen und Industrieseminaren, die im Laufe der Jahre immer weiterentwickelt und an die C++11/C++14-Erweiterungen von Visual Studio angepasst

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

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

Inhaltsverzeichnis. 1 Grundlagen 1. 2 Einfache Programme 21

Inhaltsverzeichnis. 1 Grundlagen 1. 2 Einfache Programme 21 xi 1 Grundlagen 1 1.1 Daten und Befehle......................................... 2 1.2 Algorithmen............................................. 4 1.3 Variablen................................................

Mehr

Über die Autoren 7. Einführung 25

Über die Autoren 7. Einführung 25 Inhaltsverzeichnis Über die Autoren 7 Einführung 25 Sie benötigen keinerlei Erfahrung 25 Und auch die erste Wahl für erfahrene Leute! 26 Für alle Computer 26 Konventionen 27 Wie das Buch aufgebaut ist

Mehr

Themen. Statische Methoden inline Methoden const Methoden this Zeiger Destruktor Kopierkonstruktor Überladen von Operatoren

Themen. Statische Methoden inline Methoden const Methoden this Zeiger Destruktor Kopierkonstruktor Überladen von Operatoren Themen Statische Methoden inline Methoden const Methoden this Zeiger Destruktor Kopierkonstruktor Überladen von Operatoren Statische Methoden Klassenmethoden Merkmal der Klasse nicht eines einzelnen Objekts

Mehr

Erste Schritte der Programmierung in C

Erste Schritte der Programmierung in C Erste Schritte der Programmierung in C C versus C++ Anatomie von C-Programmen für AVR- Mikrocontroller Unterschiede zwischen C++ und C 1 Grundlegende Unterschiede File-Extensions (Header und Quellcode)

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

Systemnahe Programmierung in C/C++

Systemnahe Programmierung in C/C++ Systemnahe Programmierung in C/C++ Peter Piehler peter.piehler@symetrion.com Lehrstuhl für Datenbanken und Informationssysteme Fakultät für Mathematik und Informatik 2006 12 13 Peter Piehler (DBIS) C/C++

Mehr

C programmieren. Jürgen Wolf

C programmieren. Jürgen Wolf C programmieren Jürgen Wolf Vorwort 11 Kapitel 1: Schnelleinstieg 13 Was sollten Sie bereits können? 14 Was lernen Sie mit diesem Buch? 14 Was benötigen Sie noch? 14 Überblick zu den einzelnen Kapiteln

Mehr

Überladen von Operatoren

Überladen von Operatoren - Überladen des Indexoperators [] - Überladen des Ausgabeoperators > Programmieren in C++ Informatik FH Trier C++12-1 ähnlich dem Überladen von Funktionen Überladen

Mehr

Widmung... 5. Einleitung... 15. Vorwort 15 Übersicht zu diesem Buch 17. 1 Einführung in die Welt der Objektorientierung... 21

Widmung... 5. Einleitung... 15. Vorwort 15 Übersicht zu diesem Buch 17. 1 Einführung in die Welt der Objektorientierung... 21 Inhaltsverzeichnis Widmung........................................ 5 Einleitung...................................... 15 Vorwort 15 Übersicht zu diesem Buch 17 1 Einführung in die Welt der Objektorientierung.........

Mehr

Inhalt. 1 PHP-Programmierkurs 23. Einführung... 17

Inhalt. 1 PHP-Programmierkurs 23. Einführung... 17 Einführung... 17 1 PHP-Programmierkurs 23 1.1 Einbettung von PHP in HTML... 23 1.2 Kommentare... 26 1.3 Variablen, Datentypen und Operatoren... 27 1.3.1 Namen... 28 1.3.2 Variablen für Zahlen... 29 1.3.3

Mehr

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2 Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 2 SS 2016

Mehr

C vs. C++ Sebastian Meyer. Proseminar C - Grundlagen und Konzepte. Universität Hamburg

C vs. C++ Sebastian Meyer. Proseminar C - Grundlagen und Konzepte. Universität Hamburg C vs. C++ Sebastian Meyer Universität Hamburg Proseminar C - Grundlagen und Konzepte 2013 1 / 31 Gliederung 1 Einführung 2 Vergleich der Spracheigenschaften 3 Neue Sprachelemente in C++ 4 Fazit 5 Zusammenfassung

Mehr

Programmierung mit C Zeiger

Programmierung mit C Zeiger Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch

Mehr

Inhaltsverzeichnis. Vorwort

Inhaltsverzeichnis. Vorwort Vorwort 1 Einführung in das Programmieren mit Clipper 3 1.1 Kapitel 1 im Überblick 3 1.2 Was kann Clipper? 4 1.3 Was leistet ein Compiler? 5 1.4 Wie Clipper kompiliert 6 1.4.1 Compilerschalter 7 1.4.2

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

Verwendung von Klassen in C++

Verwendung 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

Mehr

C++ - Operatoren. Eigene Klassen mit neuen Funktionen

C++ - Operatoren. Eigene Klassen mit neuen Funktionen C++ - Operatoren Eigene Klassen mit neuen Funktionen Übersicht Klassen bisher Eigene Operatoren definieren 2 Bisher Durch Kapselung, Vererbung und Polymorphy können nun eigene Klassen definiert werden,

Mehr

Inhaltsverzeichnis 1 Einführung Die Software JGIS Grundlagen raumbezogener Daten

Inhaltsverzeichnis 1 Einführung Die Software JGIS Grundlagen raumbezogener Daten 1 Einführung... 1 1.1 Was wird vermittelt?... 1 1.2 Hinweise zum Buch... 3 1.3 Hinweise zur Buch-CD... 4 1.4 Hinweise zum Forum... 4 1.5 Allgemeine Hinweise... 5 2 Die Software JGIS... 7 2.1 Start des

Mehr

Einführung in die STL anhand eines ausgewählten Beispiels

Einführung in die STL anhand eines ausgewählten Beispiels Einführung in die STL anhand eines ausgewählten Beispiels Frank M. Thiesing http://home.t-online.de/home/ frank.thiesing/stl/stl-folien.pdf Inhalt Überblick über die C++ STL Container Iteratoren Algorithmen

Mehr

1. Übung zu "Numerik partieller Differentialgleichungen"

1. Übung zu Numerik partieller Differentialgleichungen 1. Übung zu "Numerik partieller Differentialgleichungen" Simon Gawlok, Eva Treiber Engineering Mathematics and Computing Lab 22. Oktober 2014 1 / 15 1 Organisatorisches 2 3 4 2 / 15 Organisatorisches Ort:

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

Einführung in die STL

Einführung in die STL 1/29 in die STL Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de http://florian.adamsky.it/ cbd Softwareentwicklung im WS 2014/15 2/29 Outline 1 3/29 Inhaltsverzeichnis 1 4/29 Typisierung

Mehr

Inhalt. Vorwort. Bibliografische Informationen digitalisiert durch

Inhalt. Vorwort. Bibliografische Informationen  digitalisiert durch Vorwort 1 Einleitung 1 1.1 Programmierung und Programmiersprachen 1 1.1.1 Programmierung 2 1.1.2 Grundlegende Programmstrukturen 3 1.1.3 Programmiersprachen 5 1.2 Was ist Java? 9 1.2.1 Ursprung von Java

Mehr

C als erste Programmiersprache

C als erste Programmiersprache Manfred Dausmann, Ulrich Bröckl, Joachim Goll C als erste Programmiersprache Vom Einsteiger zum Profi 6., überarbeitete Auflage Teubner Inhaltsverzeichnis 1 Grundbegriffe der Programmierung 2 1.1 Das erste

Mehr

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Einführung in den Einsatz von Objekt-Orientierung mit C++ I Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen

Mehr

C++ für Ingenieure. Einführung in die objektorientierte Programmierung. Seite Programmverzeichnis VII HARALD NAHRSTEDT

C++ für Ingenieure. Einführung in die objektorientierte Programmierung. Seite Programmverzeichnis VII HARALD NAHRSTEDT VII HARALD NAHRSTEDT C++ für Ingenieure Einführung in die objektorientierte Programmierung Seite Erstellt am 15.01.2009 Beschreibung VIII 1 Grundlagen der Programmierung 1-1 Struktur einer Header-Datei

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2010/11 arithmetik für dynamischen Speicher Anwendungen Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU

Mehr

AuD-Tafelübung T-B5b

AuD-Tafelübung T-B5b 6. Übung Sichtbarkeiten, Rekursion, Javadoc Di, 29.11.2011 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit 3 Stack und Heap Stack Heap 4 Blatt 6 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit

Mehr

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only

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

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

Theorie zu Übung 8 Implementierung in Java

Theorie zu Übung 8 Implementierung in Java Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept

Mehr

Informationsverarbeitung im Bauwesen

Informationsverarbeitung im Bauwesen 1/21 Informationsverarbeitung im Bauwesen Einführung in das Programmieren mit C++ Markus Uhlmann Institut für Hydromechanik Karlsruher Institut für Technologie www.ifh.kit.edu WS 2010/2011 Vorlesung 8

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

Mehr

Inhaltsverzeichnis. Teil I Erste Schritte. 1 Einleitung 11. Teil II Grundlagen von VBA. 2 Die ersten VBA-Prozeduren erstellen 17

Inhaltsverzeichnis. Teil I Erste Schritte. 1 Einleitung 11. Teil II Grundlagen von VBA. 2 Die ersten VBA-Prozeduren erstellen 17 Teil I Erste Schritte 1 Einleitung 11 1.1 Die Themenschwerpunkte dieses Buches 11 Visual Basic for Applications 11 Die Beispieldateien 12 1.2 Wie Sie am besten mit diesem Buch arbeiten 13 Programmierung

Mehr

Programmieren lernen mit C

Programmieren lernen mit C Programmieren lernen mit C Bearbeitet von Karlheinz Zeiner 4., aktualisierte Auflage 2000. Buch. XIV, 361 S. Hardcover ISBN 978 3 446 21596 2 Format (B x L): 16,9 x 24,1 cm Gewicht: 730 g Weitere Fachgebiete

Mehr

Informatik I. Übung 2 : Programmieren in Eclipse. 5. März Daniel Hentzen

Informatik I. Übung 2 : Programmieren in Eclipse. 5. März Daniel Hentzen Informatik I Übung 2 : Programmieren in Eclipse 5. März 2014 Daniel Hentzen dhentzen@student.ethz.ch Downloads : http://n.ethz.ch/~dhentzen/download/ Heute 1. Nachbesprechung Übung 1 2. Theorie 3. Vorbesprechung

Mehr

1 Einführung Grundbausteine eines Java-Programms Kontrollstrukturen Einführung in Edipse Klassen und Objekte 156

1 Einführung Grundbausteine eines Java-Programms Kontrollstrukturen Einführung in Edipse Klassen und Objekte 156 Auf einen Blick Auf einen Blick 1 Einführung 15 2 Grundbausteine eines Java-Programms 60 3 Kontrollstrukturen 101 4 Einführung in Edipse 127 5 Klassen und Objekte 156 6 Mit Klassen und Objekten arbeiten

Mehr

jetzt lerne ich ASP.NET Dynamische Webseiten mit ASP.NET 1.1 mit Ausblick auf ASP 2.0 WENZ KORDWIG TRENNHAUS

jetzt lerne ich ASP.NET Dynamische Webseiten mit ASP.NET 1.1 mit Ausblick auf ASP 2.0 WENZ KORDWIG TRENNHAUS ASP.NET Dynamische Webseiten mit ASP.NET 1.1 mit Ausblick auf ASP 2.0 WENZ KORDWIG TRENNHAUS Inhaltsverzeichnis jetzt lerne ich Vorwort 13 1 Einführung 19 1.1 Was ist ASP.NET? 19 1.1.1 Ein kurzer Ausflug:

Mehr

Inhalt 6 Vorwort 10 1 Warum Perl? 12 2 Grundlagen Variablen Spezial-Variablen Kontext Wahrheitswert 18 3 Skalare 20 3.

Inhalt 6 Vorwort 10 1 Warum Perl? 12 2 Grundlagen Variablen Spezial-Variablen Kontext Wahrheitswert 18 3 Skalare 20 3. Inhalt 6 Vorwort 10 1 Warum Perl? 12 2 Grundlagen 14 2.1 Variablen 14 2.2 Spezial-Variablen 16 2.3 Kontext 16 2.4 Wahrheitswert 18 3 Skalare 20 3.1 Zahlen 20 3.2 Operatoren 24 3.3 Mathematische Funktionen

Mehr

DAS EINSTEIGERSEMINAR PHP 5.3 LERNEN ÜBEN ANWENDEN. Oliver Leiss Jasmin Schmidt. 3. Auflage

DAS EINSTEIGERSEMINAR PHP 5.3 LERNEN ÜBEN ANWENDEN. Oliver Leiss Jasmin Schmidt. 3. Auflage DAS EINSTEIGERSEMINAR PHP 5.3 Oliver Leiss Jasmin Schmidt 3. Auflage LERNEN ÜBEN ANWENDEN Vorwort... 13 Einleitung... 15 Was ist PHP?... 15 PHP gezielt einsetzen... 16 Neuerungen in PHP 5.3... 16 Der Umgang

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

(allgemeine) OOP in C++ Klassen und header-files Konstruktorn / Destruktoren Speicherverwaltung C++ Standard Library / SLT

(allgemeine) OOP in C++ Klassen und header-files Konstruktorn / Destruktoren Speicherverwaltung C++ Standard Library / SLT Architektur Übersicht (allgemeine) OOP in C++ Polymorphie Virtuelle Funktionen Kompilieren Linken dynamische/statische Bibliotheken Tutorial: vs2008+ogre+(campus modell) Architektur (allgemeine) OOP in

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens mit C++ und Matlab SS2013 Organisatorisches Dozenten Gruppe: Ango (2.250),

Mehr

Andre Willms. Spielend C++ lernen. oder wie man Käfern Beine macht. Galileo Press

Andre Willms. Spielend C++ lernen. oder wie man Käfern Beine macht. Galileo Press Andre Willms Spielend C++ lernen oder wie man Käfern Beine macht Galileo Press Vorwort 11 1 Das Abenteuer beginnt 13 1.1 Die Programmierumgebung installieren 15 1.2 Der erste Start 20 1.2.1 Visual C++registrieren

Mehr

Thomas Theis. Einstieg in Python. Galileo Press

Thomas Theis. Einstieg in Python. Galileo Press Thomas Theis Einstieg in Python Galileo Press 5 Inhalt Inhalt 1 Einführung 17 1.1 Vorteile von Python 17 1.2 Verbreitung von Python 18 1.3 Aufbau des Buchs 18 1.4 Übungen 20 1.5 Installation von Python

Mehr

Objektorientierte Programmierung mit C++ Vector und List

Objektorientierte Programmierung mit C++ Vector und List Vector und List Ziel, Inhalt Wir lernen die Klassen vector und list aus der Standard-C++ Library kennen und anwenden. In einer Übung wenden wir diese Klassen an um einen Medienshop (CD s und Bücher) zu

Mehr

C++-Zusammenfassung. H. Schaudt. August 18, 2005

C++-Zusammenfassung. H. Schaudt. August 18, 2005 C++-Zusammenfassung H. Schaudt August 18, 2005 1 Datentypen 1.1 Grunddatentypen int (-32xxx bis +32xxx, implementerungs-abhängig) char -128 bis +128 float double bool (C++) int und char sind austauschbar:

Mehr

RO-Tutorien 3 / 6 / 12

RO-Tutorien 3 / 6 / 12 RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 2 AM 06./07.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Vererbung & Schnittstellen in C#

Vererbung & Schnittstellen in C# Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung

Mehr

Inhaltsverzeichnis. Fritz Jobst. Programmieren in Java ISBN: 978-3-446-41771-7. Weitere Informationen oder Bestellungen unter

Inhaltsverzeichnis. Fritz Jobst. Programmieren in Java ISBN: 978-3-446-41771-7. Weitere Informationen oder Bestellungen unter sverzeichnis Fritz Jobst Programmieren in Java ISBN: 978-3-446-41771-7 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41771-7 sowie im Buchhandel. Carl Hanser Verlag, München

Mehr

Knasmüller.book Seite vii Mittwoch, 28. März 2001 11:11 11. vii. Inhaltsverzeichnis

Knasmüller.book Seite vii Mittwoch, 28. März 2001 11:11 11. vii. Inhaltsverzeichnis Knasmüller.book Seite vii Mittwoch, 28. März 2001 11:11 11 vii 1 Einführung 1 1.1 Motivation.................................... 1 1.2 Vorteile der neuen Techniken...................... 3 1.3 Aufbau des

Mehr

Übungsaufgaben: 1. Objektorientierte Programmierung - Teil 1

Übungsaufgaben: 1. Objektorientierte Programmierung - Teil 1 Übungsaufgaben: 1. Objektorientierte Programmierung - Teil 1 1. Das Objekt Bruch mit einem Standardkonstruktor (initialisieren mit 0), einem allgemeinen Konstruktor (Zähler und Nenner können beliebig vorgegeben

Mehr

Zeiger: Der Adressoperator &

Zeiger: Der Adressoperator & Zeiger: Der Adressoperator & Variablen werden im Computer im Speicher abgelegt. Nach der Deklaration int a,b,c; double x,y,z; Sieht die Speicherbelegung etwa wie folgt aus: a b c x y z Jede Variable hat

Mehr

Michael Weigend. Python GE-PACKT. 5. Auflage

Michael Weigend. Python GE-PACKT. 5. Auflage Michael Weigend Python GE-PACKT 5. Auflage E Einleitung 13 E.i Was ist Python? 13 E.2 Einige besondere Merkmale von Python 13 E.3 Python 2 und 3 14 E.4 Hinweise zum Lesen dieses Buches 15 1 Basiskonzepte

Mehr

Advanced Programming in C

Advanced Programming in C Advanced Programming in C Pointer und Listen Institut für Numerische Simulation Rheinische Friedrich-Wilhelms-Universität Bonn Oktober 2013 Überblick 1 Variablen vs. Pointer - Statischer und dynamischer

Mehr

Spieleprogrammierung mit DirectX

Spieleprogrammierung mit DirectX jetzt lerne ich Spieleprogrammierung mit DirectX Der einfache Einstieg in die C++-Programmierung CHRISTIAN ROUSSELLE Inhaltsverzeichnis jetzt lerne ich 1 Einführung 17 2 Grundlagen 19 2.1 Plattformen 19

Mehr

Objektorientierte Programmierung in Java

Objektorientierte Programmierung in Java Objektorientierte Programmierung in Java 1. Auflage Objektorientierte Programmierung in Java schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag C.H. Beck im Internet:

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 Templates Nochmal zusammengefasst Die Basis der OOP- Zusammengefasst 2 Templates Programmiersprachen

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

PHP Programmierung. Seminarunterlage. Version 1.02 vom

PHP Programmierung. Seminarunterlage. Version 1.02 vom Seminarunterlage Version: 1.02 Version 1.02 vom 27. August 2013 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

Mehr

Zeiger, Arrays und Strings in C und C++

Zeiger, Arrays und Strings in C und C++ Zeiger, Arrays und Strings in C und C++ 1 Zeiger in Java und C/C++ Zeigervariable (kurz: Zeiger, engl.: pointer): eine Variable, die als Wert eine Speicheradresse enthält Java: Zeiger werden implizit für

Mehr

jetzt lerne ich PHP 5 & MySQL 4.1 Der schnelle Einstieg in die objektorientierte

jetzt lerne ich PHP 5 & MySQL 4.1 Der schnelle Einstieg in die objektorientierte jetzt lerne ich PHP 5 & MySQL 4.1 Der schnelle Einstieg in die objektorientierte Webprogrammierung SVEN LETZEL FRIEDHELM BETZ Inhaltsverzeichnis jetzt lerne ich Hallo! 15 1 Grundlagen 17 1.1 Das Internet

Mehr

Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6

Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6 Andre Droschinsky Ingo Schulz Dortmund, den 0. Dezember 2015 Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6 Block rot Es können 4 + 1 Punkte erreicht werden. Abgabedatum: 10. Dezember 2015 2:59 Uhr Hinweise

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)

Mehr

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

DAP2-Programmierpraktikum Einführung in C++ (Teil 1) DAP2-Programmierpraktikum Einführung in C++ (Teil 1) Carsten Gutwenger 11. April 2008 Lehrstuhl 11 Algorithm Engineering Fakultät für Informatik, TU Dortmund Überblick Mein erstes C++-Programm Namensräume

Mehr

Beziehungen zwischen Objekten

Beziehungen zwischen Objekten 1/19 Beziehungen zwischen Objekten Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de http://florian.adamsky.it/ cbd Softwareentwicklung im WS 2014/15 2/19 Outline 1 Vererbung (Wiederholung)

Mehr

Kapitel 11: Wiederholung und Zusammenfassung

Kapitel 11: Wiederholung und Zusammenfassung Wiederholung und Zusammenfassung 1: Begriff und Grundprobleme der Informatik Begriff Informatik Computer als universelle Rechenmaschine Grenzen der Berechenbarkeit Digitalisierung Problem der Komplexität

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 11 Dynamische Feldvereinbarung... 11-2 11.1 Dynamische Vereinbarung von Vektoren... 11-3 11.2 Dynamische Vereinbarung von Matrizen... 11-5 11.3 Die Kommandozeile... 11-8 Propädeutikum 11-1/8 11

Mehr

Inhaltsverzeichnis. 2.2 Grundlagen der UML... 41. 2.3 Zusammenfassung... 53

Inhaltsverzeichnis. 2.2 Grundlagen der UML... 41. 2.3 Zusammenfassung... 53 Vorwort......................................................... 13 1 Vorbereitungen.................................................. 17 1.1 JDK-Installation unter Windows................................

Mehr

Die Programmiersprache C Eine Einführung

Die Programmiersprache C Eine Einführung Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert

Mehr

Überblick und Wiederholung

Überblick und Wiederholung Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-14-15/infoeinf WS14/15 Klausurinformationen 6 ECTS: Klausur 07.02.2015 10:15 12:15 Uhr (120

Mehr

Ziel, Inhalt. Programmieren in C++ Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind

Ziel, Inhalt. Programmieren in C++ Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind Templates und Containerklassen Ziel, Inhalt Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind Templates und Containerklassen 1 Ziel, Inhalt

Mehr

Abend 7 Vererbung und Polymorphie, Abstrakte Klassen

Abend 7 Vererbung und Polymorphie, Abstrakte Klassen Abend 7 Vererbung und Polymorphie, Abstrakte Klassen Ziel, Inhalt Wir sehen heute weitere Beispiele für Polymorphie und virtuelle Methoden. Wir lernen auch Klassen kennen, von denen man keine Objekte erzeugen

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 10

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 10 Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Übungsblatt Nr. 10 Aufgabe 20: Code Verständnis Löse diese Aufgabe selbständig als Vorbereitung zur Übung auf dem Papier. a) Gib

Mehr

Inhaltsverzeichnis. Bibliografische Informationen digitalisiert durch

Inhaltsverzeichnis. Bibliografische Informationen  digitalisiert durch 1 Datenbanken - eine Einfuhrung 13 1.1 Allgemeines 13 1.2 Zielgruppe 14 1.3 Was ist eine Datenbank? 14 1.4 Das Datenbankmanagementsystem (DBMS) 16 1.5 Der Aufbau der Daten 18 1.6 Tabellen 18 1.7 Benutzer-Tabellen

Mehr

Inhaltsverzeichnis ... Danksagung 11. Einführung 13. Wie Sie Ihr erstes objektorientiertes Programm schreiben 23

Inhaltsverzeichnis ... Danksagung 11. Einführung 13. Wie Sie Ihr erstes objektorientiertes Programm schreiben 23 Lektion 1.......... Danksagung 11 Einführung 13 Systemanforderungen 13 Wo Sie am besten anfangen 14 Die Übungsdateien installieren und verwenden 16 Installation der Übungsdateien 16 Die Übungsdateien verwenden

Mehr

Michael Weigend. Python GE-PACKT

Michael Weigend. Python GE-PACKT Michael Weigend Python GE-PACKT E Einleitung 11 E.i Was ist Python? ai E.2 Einige besondere Merkmale von Python n E.3 Hinweise zum Lesen dieses Buches 13 1 Basiskonzepte von Python 15 1.1 Python im interaktiven

Mehr