Überladen von Operatoren
|
|
|
- Til Armbruster
- vor 9 Jahren
- Abrufe
Transkript
1 - Überladen des Indexoperators [] - Überladen des Ausgabeoperators << - Überladen des Eingabeoperators >> Programmieren in C++ Informatik FH Trier C++12-1
2 ähnlich dem Überladen von Funktionen Überladen von Operatoren setzt allerdings Klassen voraus. Syntax der Operatordefinition ( steht für eines der möglichen C++-Operatorsymbole) für eine globale Funktion: ReturnDatentyp operator (Argumentliste) Funktionscode für eine Elementfunktion: ReturnDatentyp Klassenname::operator (Argument) Funktionscode Programmieren in C++ Informatik FH Trier C++12-2
3 Operatorfunktionen unterscheiden sich von den bisher bekannten Funktionen lediglich durch zwei Dinge: - Der Funktionsname einer Operatorfunktion besteht aus dem Schlüsselwort operator und dem angehängten Operatorzeichen - Der Aufruf einer Operatorfunktion wird entsprechend der folgenden Tabelle in einen Funktionsaufruf umgewandelt. Elementfunktion Syntax Ersetzung durch nein ja x y operator (x, y) x operator (x) x operator (x, 0) x y x.operator (y) x x.operator () x x.operator (0) x = y x.operator=(y) x[y] x.operator[](y) x-> (x.operator->())-> Programmieren in C++ Informatik FH Trier C++12-3
4 Einschränkungen für Operatorfunktionen: - Es können die üblichen C++-Operatoren wie = == += usw. überladen werden, nicht jedoch..* ::?: und andere Zeichen wie $ usw. - new und delete sowie new[] und delete[] können überladen werden. - Die Definition von neuen Operatoren ist nicht möglich. - Die vorgegebenen Vorrangregeln können nicht verändert werden. - Wenigstens ein Argument der Operatorfunktion muss ein class-objekt sein oder die Operatorfunktion muss eine Elementfunktion sein. Programmieren in C++ Informatik FH Trier C++12-4
5 Überladen des Indexoperators [] Beispiel: eine KlasseIntArray Verwendung der Klasse: #include <iostream> #include <cstdlib> using namespace std; // fuer exit() int main() IntArray x(20); // Initialisierung der Arrayelemente for (int i = 0; i < 20; i++) x[i] = i * 2; // Ausgabe der Arrayelemente for (int i = 0; i <= 20; i++) cout << "At index " << i << ": value is " << x[i] << endl; return 0; Programmieren in C++ Informatik FH Trier C++12-5
6 Überladen des Indexoperators [] Schnittstelle der KlasseIntArray: class IntArray public: IntArray(int sz = 1); IntArray(const IntArray& other); ~IntArray(); IntArray& operator=(const IntArray& other); // überladener Indexoperator int& operator[](int index); private: void destroy(); void copy(const IntArray& other); ; int *data, size; Der überladene Indexoperator hat den Rückgabetyp int& Dadurch können Ausdrücke wie x[10] sowohl auf der rechten als auch auf der linken Seite einer Wertzuweisung stehen. Programmieren in C++ Informatik FH Trier C++12-6
7 Überladen des Indexoperators [] Implementierung der KlasseIntArray: IntArray::IntArray(int sz) if (sz < 1) cout << "IntArray: " << "size of array must be >= 1, not " << sz << "!" << endl; exit(1); // Größe notieren und Array erzeugen size = sz; data = new int [sz]; // Kopierkonstruktor IntArray::IntArray(const IntArray& other) copy(other); // Destruktor IntArray::~IntArray() destroy(); Programmieren in C++ Informatik FH Trier C++12-7
8 Überladen des Indexoperators [] Implementierung der KlasseIntArray: // überladene Wertzuweisung IntArray& IntArray::operator=(const IntArray& other) // Selbstzerstörung vermeiden! if (this!= &other) destroy(); copy(other); return *this; void IntArray::destroy() delete [] data; void IntArray::copy(const IntArray& other) // Größe notieren size = other.size; // Array erzeugen data = new int [size]; // Werte von other kopieren for (register int i = 0; i < size; i++) data[i] = other.data[i]; Programmieren in C++ Informatik FH Trier C++12-8
9 Überladen des Indexoperators [] Implementierung der KlasseIntArray: int& IntArray::operator[](int index) // Liegt eine Bereichsüberschreitung vor? if (index < 0 index >= size) cout << "IntArray: " exit(1); << "array index out of range, " << "index = " << index << ", should range from 0 to " << size - 1 << endl; return data[index]; Programmieren in C++ Informatik FH Trier C++12-9
10 Überladen des Ausgabeoperators << cout undcerr sind Objekte der Klasseostream, die überladene Ausgabeoperatoren für Standard- Datentypen enthält. ostream& operator<<(const char*); ostream& operator<<(char); ostream& operator<<(int); ostream& operator<<(float); ostream& operator<<(double); // usw. Wunsch: Überladen des Ausgabeoperators <<, so dass Objekte benutzerdefinierter Klassen ausgegeben werden können. Beispiel: Person kr("kernighan and Ritchie", "unknown", "unknown"); cout << "Name, address and phone number " << "of Person kr:\n" << kr << endl; Programmieren in C++ Informatik FH Trier C
11 Überladen des Ausgabeoperators << Die Anweisung cout << kr; kann interpretiert werden entweder als a) cout.operator<<(kr); oder aber als b) operator<<(cout, kr); Der Operator kann also keine Elementfunktion der Klasse Person sein. Gemäß a) wäre der Operator << eine Elementfunktion der Klasse ostream. Diese Möglichkeit kommt nicht in Frage. Warum? Es bleibt nur die Interpretation b), gemäß der der Operator << als globale Funktion mit zwei Argumenten formuliert werden muss. ostream& operator<<(ostream& s, const Person& p); Programmieren in C++ Informatik FH Trier C
12 Überladen des Ausgabeoperators << << gibt eine Referenz auf das ostream-objekt s zurück. Dadurch wird eine Verkettung mehrerer Ausgaben möglich. cout << "K&R:" << kr << endl; ist identisch mit ((cout << "K&R:") << kr) << endl; Implementierung des überladenen Ausgabeoperators << für die Klasse Person: // Deklaration (z.b. in Person.h) ostream& operator<<(ostream& s, const Person& p); // Definition (z.b. in Person.cpp) ostream& operator<<(ostream& ausgabe, const Person& p) return ausgabe << "Name: " << p.getname() << "Address: " << p.getaddress() << "Phone: " << p.getphone() ; Programmieren in C++ Informatik FH Trier C
13 Überladen des Eingabeoperators >> Beispiel: Überladen von Ein- und Ausgabeoperatoren für die Klasse String #include <iostream> using namespace std; class String public: //... void setstr(const char *s); const char *getstr() const; private: char *str; ; void func() char buffer[500]; String s; cin >> s.setstr(); // Geht leider nicht! cin >> buffer; s.setstr(buffer); cout << s.getstr() << endl; // ok. // ok. Programmieren in C++ Informatik FH Trier C
14 Überladen des Eingabeoperators >> Wunsch: Ausgabe von String-Objekten int main() String s("hello world"); cout << "The string is: \"" << s << "\"" << endl; Außerdem: Eingabe von String-Objekten int main() String s; cout << "Please enter your string: "; cin >> s; cout << "Got: \"" << s << "\"" << endl; Programmieren in C++ Informatik FH Trier C
15 Überladen des Eingabeoperators >> Ausgabe von String-Objekten ostream& operator<< (ostream& ostr, const String& s) return ostr << s.getstr(); Eingabe von String-Objekten (1. Versuch) operator>>() ist Elementfunktion der Klasse String istream& String::operator>>(istream& is) char buf[500]; // Wir nehmen an, dass diese Größe ausreicht. is >> buf; // Eingabe einer Zeichenkette delete [] str; // "alten" Speicherplatz freigeben str = strdupnew(buf); // neuen Wert zuweisen return is; // Referenz auf istream zurückliefern Programmieren in C++ Informatik FH Trier C
16 Überladen des Eingabeoperators >> Eingabe von String-Objekten (1. Versuch) void func() String s; s >> cin; // (1) s.operator>>(cin); // (1) int x; s >> (cin >> x); // (2) cin >> x >> s; // (3) - (1) Extraktion aus demistream-objektcin in das String-Objekt s - (2) cin >> x liefert eine Referenz auf ein istream-objekt, das als rechter Operand beim Einlesen von s verwendet wird. - (3) Fehlermeldung des Compilers: Call does not match any argument list for "istream::operator>>". Programmieren in C++ Informatik FH Trier C
17 Überladen des Eingabeoperators >> Eingabe von String-Objekten (2. Versuch) operator>>() ist globale Funktion mit zwei Argumenten #include <iostream> using namespace std; class String friend istream& operator>> (istream& is, String& s); public: //... private: char *str; ; istream& operator>>(istream& is, String& s) char buf [500]; is >> buf; delete [] s.str; s.str = strdupnew(buf); return is; Programmieren in C++ Informatik FH Trier C
18 Überladen des Eingabeoperators >> Eingabe von String-Objekten (2. Versuch) void func() String s; cin >> s; // Anwendung des Eingabe-Operators int x; cin >> x >> s; // Eingabe-Reihenfolge jetzt wie erwartet. Programmieren in C++ Informatik FH Trier C
19 Überladen des Eingabeoperators >> Eingabe von String-Objekten (3. Versuch) Geht es auch ohne diefriend-deklaration? #include <iostream> using namespace std; class String public: String& operator=(const char *s); //... private: char *str; ; istream& operator>> (istream& is, String& s) char buf[500]; is >> buf; // Einlesen einer Zeichenkette s = buf; // Zuweisung der Zeichenkette // an ein String-Objekt return is; Programmieren in C++ Informatik FH Trier C
Einführung in C++ Operatoren überladen (Klassen)
Einführung in C++ Operatoren überladen (Klassen) Operatoren überladen Die Überladung von Operatoren ermöglicht es, vorhandene Operatoren (+,-,...) auch auf Objekte von Klassen anzuwenden. Die meisten der
5. Behälter und Iteratoren. Programmieren in C++ Überblick. 5.1 Einleitung. Programmieren in C++ Überblick: 5. Behälter und Iteratoren
Programmieren in C++ Überblick 1. Einführung und Überblick 2. Klassen und Objekte: Datenkapselung 3. Erzeugung und Vernichtung von Objekten 4. Ad-hoc Polymorphismus 6. Templates und generische Programmierung
9. Vektoren. (auch Felder/array)
9. Vektoren (auch Felder/array) Motivation Hat man mehrere Objekte gleichen Datentyps, so kann man sie explizit deklarieren, wenn die Anzahl bekannt ist double x1,x2,x3,x4; Nachteile: versagt, -wenn die
Thema heute: Vererbung und Klassenhierarchien. Abgeleitete Klassen. Vererbung von Daten und Funktionen. Virtuelle Funktionen
1 Thema heute: Vererbung und Klassenhierarchien Abgeleitete Klassen Vererbung von Daten und Funktionen Virtuelle Funktionen 2 Vererbung oft besitzen verschiedene Datentypen einen gemeinsamen Kern Beispiel:
Programmieren 2 C++ Überblick
Programmieren 2 C++ Überblick 1. Einführung und Überblick 2. Klassen und Objekte: Datenkapselung 3. Erzeugung und Vernichtung von Objekten 4. Ad-hoc Polymorphismus 6. Templates und generische Programmierung
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,
Thema heute: Vererbung und Klassenhierarchien. Abgeleitete Klassen. Vererbung von Daten und Funktionen. Virtuelle Funktionen
1 Thema heute: Vererbung und Klassenhierarchien Abgeleitete Klassen Vererbung von Daten und Funktionen Virtuelle Funktionen 2 Vererbung oft besitzen verschiedene Datentypen einen gemeinsamen Kern Beispiel:
Programmiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften
Programmiertechnik Teil 4 C++ Funktionen: Prototypen Overloading Parameter C++ Funktionen: Eigenschaften Funktionen (Unterprogramme, Prozeduren) fassen Folgen von Anweisungen zusammen, die immer wieder
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
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
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
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
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
Name: Klausur Informatik III WS 2003/04
1 : Methodenimplementierung ca. 42 Punkte Gegeben ist die Klasse Mitarbeiter. Listing 1: (./Code1/Mitarbeiter.h) using namespace std; // globale Variable fuer Ausgabedatei // kann entsprechend
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
Programmieren - C++ Templates
Programmieren - C++ Templates Reiner Nitsch [email protected] Was sind Templates? C++ Templates ermöglichen generische Programmierung. Das ist Programmierung unabhängig vom speziellen Objekt-Typ Templates
Klausur in Programmieren
Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Sommer 2014, 16. Juli 2014 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name: Matrikelnr.:
Praxisorientierte Einführung in C++ Lektion: "Das Schlüsselwort explicit"
Praxisorientierte Einführung in C++ Lektion: "Das Schlüsselwort explicit" Christof Elbrechter Neuroinformatics Group, CITEC April 24, 2014 Christof Elbrechter Praxisorientierte Einführung in C++ April
Grundlagen der Informatik 6. Arrays I
6. Arrays I Motivation Array (konstante Länge) Speicherbereich Eingabe von Arrays Grundlagen der Informatik (Alex Rempel) 1 Motivation Beispiel: Bildschirmpixel zeichnen Auflösung 800x600, d.h. insgesamt
Vorlesungsprü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,
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
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
Kapitel 6: Dynamische Speicherverwaltung
Kapitel 6: Dynamische Speicherverwaltung Dieses Kapitel beschreibt die Operatoren new und delete, mit denen dynamisch Speicher reserviert und freigegeben wird. Außerdem wird im Detail eingegangen auf:
C++ Notnagel. Ziel, Inhalt. Programmieren in C++
C++ Notnagel Ziel, Inhalt Ich versuche in diesem Dokument noch einmal die Dinge zu erwähnen, die mir als absolut notwendig für den C++ Unterricht und die Prüfungen erscheinen. C++ Notnagel 1 Ziel, Inhalt
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
SimpleStat mit Methoden
SimpleStat mit Methoden Als Ausgangspunkt nehmen wir folgende Definition (Version 1) von SimpleStat: double sum2; -Quadrate Dieser Objekttyp verfügt über keine Methoden und alle Datenattribute sind public.
7.2 Dynamischer Speicher in Objekten/Kopierkonstruktor
7.2 Dynamischer Speicher in Objekten/Kopierkonstruktor Das Programmbeispiel aus dem letzten Abschnitt läßt sich bisher nicht zufriedenstellend zu Ende bringen. Unerklärliche Abstürze und Fehlverhalten
8. Referenzen und Zeiger
8. Referenzen und Zeiger Motivation Variable werden in C++ an speziellen Positionen im Speicher abgelegt. An jeder Position befindet sich 1 Byte. Sie sind durchnummeriert beginnend bei 0. Diese Positionen
Informatik I - Übung 2 Programmieren in Eclipse
Informatik I - Übung 2 Programmieren in Eclipse. / Info1 / HelloWorld / HelloWorld Wort1 Wort2 Daniel Hentzen [email protected] 5. März 2014 1.2 Häufigste Fehler im Terminal auf Gross-/Kleinschreibung
Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 29
Kapitel 2 Einführung in C++ Seite 1 von 29 C++ Zeichensatz - Buchstaben: a bis z und A bis Z. - Ziffern: 0 bis 9 - Sonderzeichen: ; :,. # + - * / % _ \! < > & ^ ~ ( ) { } [ ]? Seite 2 von 29 Höhere Elemente
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
Abend 4 Übung : Erweitern von Klassen durch Vererbung
Abend 4 Übung : Erweitern von Klassen durch Vererbung Ziel, Inhalt Wir erweitern die Klassen, die wir zum Zeichnen mit TsuZeichnen verwenden. Dabei wenden wir die Vererbung an um die Klassen zu spezialisieren
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dynamische Datenobjekte Pointer/Zeiger, Verkettete Liste Eigene Typdefinitionen 1 Zeigeroperatoren & und * Ein Zeiger ist die Speicheradresse irgendeines Objektes. Eine
Schriftlicher Test (120 Minuten) VU Einführung ins Programmieren für TM. 23. Januar 2017
Familienname: Vorname: Matrikelnummer: Aufgabe 1 (3 Punkte): Aufgabe 2 (1 Punkt): Aufgabe 3 (2 Punkte): Aufgabe 4 (4 Punkte): Aufgabe 5 (2 Punkte): Aufgabe 6 (2 Punkte): Aufgabe 7 (4 Punkte): Aufgabe 8
Programmieren in C++
Fakultät Elektronik und Infor matik Studiengang Infor matik Programmieren in C++ Vorlesung im Sommersemester 2018 Prof. Dr. habil. Christian Heinlein 2. Übungsblatt (22. März 2018) Aufgabe 2: Lange vorzeichenlose
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
Angewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der
Themen. Formatierte und unformatierte Eingabe Bedingungsoperator Namespaces Kommandozeilenargumente
Themen Formatierte und unformatierte Eingabe Bedingungsoperator Namespaces Kommandozeilenargumente Formatierte Eingabe mit cin Die Formatierung der Eingabe ist der Ausgabe sehr ähnlich: Die Flags werden
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
Praxis der Programmierung
Liste, Ausnahmefehler, Template-Funktionen und -Klassen Institut für Informatik und Computational Science Henning Bordihn 1 Stack als einfach verkettete Liste 2 Aufgabe 1 1. Kopieren Sie aus /home/rlehre/w13
Einführung in das Objektorientierte Programmieren mit C++
BEREICH DATENTECHNIK I CP 500 00 TH 02 Einführung in das Objektorientierte Programmieren mit C++ Kapitel 5 5. Überladen von Operatoren 5.1. Allgemeines 5.2. Operator-Funktionen 5.3. Zuweisungs-Operator
Informatik. Wiederholung Felder (Arrays), string. Vorlesung
Informatik Vorlesung 04 Wiederholung Felder (Arrays), string 19. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 1 Ein C++ Programm: Wiederholung #include
Programmieren in C/C++ und MATLAB
Programmieren in C/C++ und MATLAB Sven Willert Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU 5-1 Übung Schreiben Sie ein Programm, das die Zahl π durch π = 4 4 4 4 4 4 + + +... 3 5 7 9 11
C++ Bit-Access. Detlef Wilkening
http://www.wilkening-online.de Seite 1 / 30 C++ Bit-Access Detlef Wilkening 10.03.2016 http://www.wilkening-online.de Seite 2 / 30 Einfache Aufgabe: Klasse, die ein Int kapselt Genau genommen hier-und-heute
Grundzüge der objektorientierten Programmierung
BERGISCHE UNIVERSITÄT GESAMTHOCHSCHULE WUPPERTAL GAUSS-STRASSE 20 42097 WUPPERTAL (Korrespondenzanschrift) 42119 WUPPERTAL (Lieferanschrift) TELEX 8 592 262 bughw TELEFAX (0202) 439-2901 TELEFON (0202)
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
C++ - Objektorientierte Programmierung Polymorphie
C++ - Objektorientierte Programmierung Polymorphie hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen C++ - Objektorientierte Programmierung 21.06.16 Seite 1 Polymorphie
C++ Teil 5. Sven Groß. 13. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 18
C++ Teil 5 Sven Groß 13. Mai 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 13. Mai 2016 1 / 18 Themen der letzten Vorlesung Funktionen Funktionsüberladung, Signatur Rekursion const-deklaration Referenzen
C++ 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
Grundlagen der Informatik 11. Zeiger
11. Zeiger Motivation Zeiger und Adressen Zeiger und Funktionen Zeiger und Arrays Dynamische Objekte Grundlagen der Informatik (Alex Rempel) 1 Motivation Dynamische Speicherverwaltung Oft müssen große
C++ 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
Teil 10: Operator Überladung. Prof. Dr. Herbert Fischer Fachhochschule Deggendorf Prof. Dr. Manfred Beham Fachhochschule Amberg-Weiden
Teil 10: Operator Überladung Prof. Dr. Herbert Fischer Fachhochschule Deggendorf Prof. Dr. Manfred Beham Fachhochschule Amberg-Weiden Inhaltsverzeichnis 10 Operator-Überladung... 3 10.1 Übersicht aller
Grundlagen der Informatik
Grundlagen der Informatik Klausur 1. August 2008 1. Dynamische Datenstrukturen und objektorientierte Programmierung (45 Punkte) Gegeben sei eine Datenstruktur mit folgendem Aufbau struct lelem { int w;
C++ Teil 8. Sven Groß. 5. Dez IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 8 5. Dez / 16
C++ Teil 8 Sven Groß IGPM, RWTH Aachen 5. Dez 2014 Sven Groß (IGPM, RWTH Aachen) C++ Teil 8 5. Dez 2014 1 / 16 Themen der letzten Vorlesung Casts bei Zeigern dynamische Speicherverwaltung Vektoren Typedefs
Klausur Informatik WS 2012/13
Klausur Informatik WS 2012/13 Name Gruppe 1 Vorname Dauer 90 min Matrikelnummer Hilfsmittel keine Die Klausur ist mit 50 Punkten sicher bestanden. Hinweies: Voraussetzung für die Teilnahme ist das Bestehen
4. Objektorientierte Programmierung mit C++
4. Objektorientierte Programmierung mit C++ Einführung C++ / Entwicklung der Sprachfamilie Erweiterungen der Sprache C: Ein- und Ausgabe, Referenzen, Speicherallokation und Freigabe Grundlagen des Typkonzepts
Programmieren II Abstrakte Klassen / Virtuelle Methoden. Programmieren II Abstrakte Klassen / Virtuelle Methoden
Einleitende Bemerkungen Einleitende Bemerkungen Aspekte Aufbau von sinnvollen Klassenhierarchien Verwaltung von Objekten unterschiedlichen Typs Mitarbeiter Besonderheiten der Anwendung jeder Angehörige
Praxisorientierte Einführung in C++ (Variadische Funktionen)
Praxisorientierte Einführung in C++ (Variadische Funktionen) Christoph Elbrechter, Florian Paul Schmidt Universität Bielefeld April 12, 2012 Christoph Elbrechter, Florian Paul Schmidt Praxisorientierte
OMSI / Teil 1 / C++ Andreas Blunk. 5. April 2006, Berlin
OMSI / Teil 1 / C++ Andreas Blunk 5. April 2006, Berlin Zusammenfassung Dieses Dokument ist eine Ergänzung zu den Folien von C++ aus dem 1. Teil der Vorlesung Objektorientierte Modellierung, Spezifikation
Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.
Seite 1 von 9 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 12 Pkt.) Was liefert
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 [email protected] Downloads : http://n.ethz.ch/~dhentzen/download/ Heute 1. Nachbesprechung Übung 1 2. Theorie 3. Vorbesprechung
Dynamische 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
Einstieg 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
