Programmieren - C++ Ausnahmebehandlung
|
|
- Marta Holzmann
- vor 6 Jahren
- Abrufe
Transkript
1 Programmieren - C++ Ausnahmebehandlung Reiner Nitsch 8417 r.nitsch@fbi.h-da.de
2 Übliche Fehlersituationen (meist in aufgerufenen Funktionen) Teilen durch 0 (Null) Vorbedingungen nicht erfüllt Indexbereich bei Arrays überschritten Kein Speicher mehr bei new (kommt noch) Formatfehler bei Eingaben Fehler bei Dateioperationen Zugriff auf nicht geöffnete Datei Datei kann nicht geöffnet werden Speichermedium voll Probleme im Fehlerfall: Bibliotheksfunktionen können Laufzeitfehler entdecken. Die angemessene Reaktion darauf kennt aber nur die aufrufende Instanz. Die aufrufende Instanz kennt die angemessene Reaktion auf Fehler. Sie ist jedoch nicht in der Lage, sie zu entdecken C++ Ausnahmebehandlung 2
3 Traditionelle Fehlerbehandlungsstrategien 1. Fehler ignorieren 2. Das Programm terminieren (assert oder exit) 3. Einen Wert zurückliefern, der "Fehler" anzeigt (z.b. eine globale Fehlervariable oder einen Funktionsparameter/Rückgabewert) Der Indikator muss nach jedem Aufruf abgefragt werden, unabhängig davon, ob tatsächlich ein Fehler vorliegt. Fehler können oft nicht dort behandelt werden, wo sie auftreten. 4. Eine Funktion aufrufen, die für die Fehlerbehandlung vorgesehen ist. Diese sollte genügend Informationen übergeben bekommen, um den Fehler beheben und den Programmlauf fortsetzen zu können. Bei nicht behebbarem Fehler das Programm mit einer aussagefähigen Meldung abbrechen. 5. Der Mechanismus der C++ Ausnahmebehandlung ist eine Alternative zu diesen traditionellen Techniken, wenn diese ungenügend, unelegant und fehleranfällig sind. Er trennt Fehlerbehandlungscode von "normalem" Code. Das Programm bleibt lesbarer C++ Ausnahmebehandlung 3
4 Beispielanwendung - Notenspiegel #include "ExamResult.h" #include <iostream> using namespace std; void showmenu(); int main(){ ExamResult mathexam; int item=0; while(true) { do { // Eingabeschleife: fehlertolerant showmenu(); cin.clear(); cin.sync(); cin >> item; if( cin.good() ) break; else { cout << "ERROR: nur ganze Zahl zulaessig!" << endl << " Eingabe geloescht... " << endl << endl; while( true ); switch( item) { case 1: mathexam.recordonemarkfromconsole(); break; case 2: mathexam.show(); break; void showmenu() { cout << "1 Noten erfassen" << endl << "2 Notenspiegel ausgeben" << endl << "3 Durchschnittsnote berechnen und ausgeben" << endl << "9 Programm beenden" << endl << endl << "Bitte waehlen: "; // Fehlererkennung // und Fehlerbehandlungscode // sind hier vermischt am gleichen Ort // -> unübersichlich aber hier angemessen // Fehlererkennung und Fehlerbehandlung // sind hier vermischt am gleichen Ort // -> hier auch angemessen case 3: cout << endl << "Durchschnittsnote: " << mathexam.mean() << endl; break; case 9: return 0; default: cout << "ERROR: nur 1, 2, 3, 9 zulaessig!" << endl << endl; //end switch //end while(true) // Fehlerbehandlung C++ Ausnahmebehandlung 4
5 Beispielklasse ExamResult class ExamResult { enum {MAX_M = 5; int marklist[max_m]; public: ExamResult(); ~ExamResult(); void recordonemarkfromconsole(); void show(); float mean(); void setmarkcount( int mark, int val ); int getmarkcount( int mark ); ; void ExamResult::recordOneMarkFromConsole(){ // abstrakt int mark=0; cout << "Note eingeben:"; cin >> mark; setmarkcount( mark, getmarkcount(mark)+1 ); void ExamResult::setMarkCount(int mark, int val) { // nicht abstrakt assert( mark>0 && mark<6 ); // Vorbedingung; Abbruch nicht angemessen marklist[mark-1] = val; // hier fehlt eigentlich wieder fehlertolerante Eingabeschleife // Aufwand: puuuh!! float ExamResult::mean() { // abstrakt int sum (0), cnt(0); for( int mark = 1; mark <= 5; mark++ ) { sum += getmarkcount(mark)*mark; cnt += getmarkcount(mark); return static_cast <float> (sum)/cnt; // Division durch 0 möglich; Fehlerbahndlung nur an Aufrufstelle möglich // Rückgabewert? Möglicherweise negatives Ergebnis! C++ Ausnahmebehandlung 5
6 Konzept der Ausnahmebehandlung in C++ Unterstützt Fehlerbehandlung in mehreren voneinander unabhängig geschriebenen Programmteilen. Trennt Fehlererkennung von Fehlerbehandlung Unterstützt den Fall, dass ein fehlererkennender Programmteil einen anderen Programmteil über einen Fehler informieren muss, weil nur dort der Fehler angemessen behandelt werden kann. Ablauf: 1. Ein Programmteil (try-block) versucht die Erledigung einer Aufgabe erzeugt im Fehlerfall ein Ausnahme-Objekt (exception), das im Fehlerbehandlungsblock ausgewertet werden kann und das eine Fehlermeldung und/oder Daten zum Wiederaufsetzen enthält. Diesen Vorgang bezeichnet man auch als "Auswerfen" einer Ausnahme: if(fehlerfall) throw AusnahmeObjekt; Danach wird zum nächsten passenden Fehlerbehandlungsblock (catch-block) gesprungen (quasi ein spezielles "goto" mit Zusatzinformationen) der zum Typ der ausgeworfenen Ausnahme passt. 2. Ein anderer Programmteil (catch-block) hinter einem try-block behandelt den Fehler gesteuert durch das ausgeworfene Ausnahmeobjekt und erledigt alle notwendigen Aufräumarbeiten (stack unwinding), wenn dabei ein Rücksprung zu aufrufenden Funktionen erforderlich ist. Diesen Vorgang bezeichnet man als "Auffangen" der Ausnahme. 3. Im Unterschied zu Strategie 4 wird das Programm nicht hinter der Fehlererkennungsstelle, sondern hinter der Fehlerbehandlungsstelle, dem catch-block fortgesetzt C++ Ausnahmebehandlung 6
7 Entwicklungsumgebung MS Visual C Nur wenn wenn die Compileroption /EHsc gesetzt ist, generiert der Compiler auch Code für die Ausnahmebehandlung! C++ Ausnahmebehandlung 7
8 int Ausnahme auswerfen und auffangen ohne Wertberücksichtigung void ExamResult::setMarkCount( int mark, int val ) { if( mark<0 mark>5 ) throw 1; marklist[mark-1] = val; int main() { ExamResult mathexam; int item=0; while(true) { // hier folgt die Eingabeschleife (unverändert) try { switch( item) { case 1: mathexam.recordonemarkfromconsole(); break; case 2: mathexam.show(); break; // Fehlererkennung case 3: cout << endl << "Durchschnittsnote: " << mathexam.mean() << endl; break; case 9: return 0; default: cout << "ERROR: nur 1, 2, 3, 9 zulaessig!" << endl << endl; // end try catch ( int ) { cout << "ERROR" << endl; // while(true) // Wenn in diesem try-block Ausnahmen ausgeworfen werden // wird das Programm hier fortgesetzt // und die passende Fehlerbehandler ausgewählt // und Fehlerbehandlung sind nun getrennt! // Dieser catch-block wird ausgewählt, // wenn er zum Typ der ausgeworfenen Ausnahme paßt Der Wert des Ausnahmeobjekts wird hier nicht genutzt // setmarkcount wirft int Ausnahme // falls mark ungültig! 1 Noten erfassen 2 Notenspiegel ausgeben 3 Durchschnittsnote berechnen und ausgeben 9 Programm beenden Bitte waehlen: 1 Note eingeben: 6 ERROR 1 Noten erfassen 2 Notenspiegel ausgeben 3 Durchschnittsnote berechnen und ausgeben 9 Programm beenden Bitte waehlen: C++ Ausnahmebehandlung 8
9 int Ausnahme auswerfen und auffangen mit Wertberücksichtigung void ExamResult::setMarkCount( int mark, int val ) { if( mark<0 mark>5 ) throw 1; // Fehlererkennung marklist[mark-1] = val; int main() { ExamResult mathexam; int item=0; while(true) { // hier folgt die Eingabeschleife (unverändert) try { switch( item) { case 1: mathexam.recordonemarkfromconsole(); break; case 2: mathexam.show(); break; case 3: cout << endl << "Durchschnittsnote: " << mathexam.mean() << endl; break; case 9: return 0; default: cout << "ERROR: nur 1, 2, 3, 9 zulaessig!" << endl << endl; // end try // while(true) catch ( int errno ) { switch(errno) { case 1: cout << "ERROR " << errno // setmarkcount wirft int Ausnahme // falls mark ungültig! Der Wert des Ausnahmeobjekts ist lokale Variable errno in diesem catch-block << ": Falsche Note in ExamResult::setMarkCount!" Der Wert des Ausnahmeobjekts wird hier genutzt 1 Noten erfassen 2 Notenspiegel ausgeben 3 Durchschnittsnote berechnen und ausgeben 9 Programm beenden Bitte waehlen: 1 Note eingeben: 6 ERROR 1: Falsche Note in ExamResult:setMarkCount! C++ Ausnahmebehandlung 9
10 string Ausnahme auswerfen und auffangen void ExamResult::setMarkCount( int mark, int val ) { if(mark<0 mark>5) throw string("error: Falsche Note in ExamResult::setMarkCount!"); marklist[mark-1] = val; int main() { ExamResult mathexam; int item=0; while(true) { // hier folgt die Eingabeschleife (unverändert) try { // wie gehabt... // setmarkcount wirft string Ausnahme // falls mark ungültig! // end try catch ( string str ) { cout << str << endl; // while(true) Der Wert des Ausnahmeobjekts wird hier genutzt 1 Noten erfassen 2 Notenspiegel ausgeben 3 Durchschnittsnote berechnen und ausgeben 9 Programm beenden Bitte waehlen: 1 Note eingeben: 6 ERROR: Falsche Note in ExamResult:setMarkCount! C++ Ausnahmebehandlung 10
11 Userdefiniertes Fehlerobjekt ohne Zusatzinformation Spezielle Fehlerklasse class ExamResultError{ ; // Standard-Konstruktor, Copy-Konstruktor und Destruktor werden automatisch bereitgestellt! // Das Fehlerobjekt hat keine Attribute. Es transportiert daher auch keine Informationen über den Fehler void ExamResult::setMarkCount( int mark, int val ) { if( mark<0 mark>5 ) throw MarkError(); marklist[mark-1] = val; int main() { ExamResult mathexam; int item=0; while(true) { // hier folgt die Eingabeschleife (unverändert) try { // wie gehabt... // end try catch ( ExamResultError ) { cout << "ERROR: Falsche Note in class ExamResult!" // while(true) Nur der Typ der Ausnahme wird hier genutzt zur Auswahl des catch-blocks Der Wert des Ausnahmeobjekts wird hier nicht genutzt Mehr Information gibt das Ausnahmeobjekt hier nicht her C++ Ausnahmebehandlung 11
12 Userdefiniertes Fehlerobjekt mit Zusatzinformation void ExamResult::setMarkCount( int mark, int val ) { if( mark<0 mark>5 ) throw ExamResult( "setmarkcount: Note = ", mark ); marklist[mark-1] = val; class ExamResultError { int value; string message; // Attribute des Fehlerobjekts transportieren Infos zum Fehler zur Fehlerbehandlungsroutine public: ExamResultError( const string& msg, int val=0 ) : message(msg) { value = val; ostream& show( ostream& os ) { os << "ERROR in ExamResult::" << message << value; return os; ; int main() { ExamResult mathexam; int item=0; while(true) { // hier folgt die Eingabeschleife (unverändert) try { // wie gehabt... // end try catch ( ExamResultError exre ) { exre.show(cout); // while(true) 1 Noten erfassen 2 Notenspiegel ausgeben 3 Durchschnittsnote berechnen und ausgeben 9 Programm beenden Bitte waehlen: 1 Note eingeben: 6 ERROR in ExamResult::setMarkCount: Note = C++ Ausnahmebehandlung 12
13 Userdefiniertes Fehlerobjekt mit Zusatzinformation Jetzt kann auch "Division durch Null"-Fehler in mean erkannt und an Aufrufstelle behandelt werden float ExamResult::mean() { int sum (0), cnt(0); for( int mark = 1; mark <= 5; mark++ ) { sum += getmarkcount(mark)*mark; cnt += getmarkcount(mark); if( cnt==0 ) throw ExamResultError( "mean: cnt = ", 0 ); return static_cast <float> (sum)/cnt; //Falls cnt=0 wird diese Anweisung nicht ausgeführt! 1 Noten erfassen 2 Notenspiegel ausgeben 3 Durchschnittsnote berechnen und ausgeben 9 Programm beenden Bitte waehlen: 3 Note eingeben: 6 ERROR in ExamResult::mean: cnt = C++ Ausnahmebehandlung 13
14 C++ Exceptions - Regeln Regeln zum Auswerfen von Ausnahmen Code in try-block oder catch-block kann einen throw-ausdruck enthalten. Der throw-ausdruck hat die Syntax: throw [Ausdruck] (Bei Ausführung wird eine Ausnahme "ausgeworfen". Der Ausdruck ist optional) Nach dem Auswerfen einer Ausnahme wird das Programm hinter dem try-block fortgesetzt und der zum Typ des Ausnahmeobjekts passende Ausnahme-Handler (catch-block) gesucht. Regeln zum Behandeln der Ausnahme Nach dem Auswurf einer Ausnahme wird der "nächste" Handler gesucht, der zum Typ des Ausnahmeobjekts passt. Am "nahsten" sind die catch-blöcke, die dem auswerfenden try-block folgen. Mit dem (temporären) Ausnahmeobjekt wird der Parameter des passenden catch- Blocks initialisiert. Wenn unter den Handlern, die einem try-block folgen, kein passender Handler gefunden wird, wird die Suche im nächsten umschließenden try-block fortgesetzt. Wenn überhaupt kein passender Handler gefunden wurde, wird die Funktion unexpected() aufgerufen. Die Standardversion von unexpected() ruft terminate() auf, sie kann aber durch eine eigene Funktion ersetzt werden C++ Ausnahmebehandlung 14
15 Exception-Spezifikationen in Deklarationen Zweck Ausnahmen, die eine Funktion auswerfen kann, für den Schnittstellen-Anwender bereits in der Schnittstellen-Deklaration bekannt machen. Anwendung void function(); // bel. Funktion kann beliebige Ausnahmen auswerfen. void function() throw(); verspricht, keine Ausnahmen auszuwerfen. void function() throw( RangeError, string ); verspricht, nur die deklarierten Ausnahmen auszuwerfen. Wenn eine Funktion eine Exception wirft, die in der Exception-Spezifikation nicht vorgesehen ist, wird die Funktion void unexpected() aufgerufen, die das Programm beendet. Beispiel class ExamResult { public: float mean() throw(examresulterror); void setmarkcount( int mark, int val ) throw(examresulterror); int getmarkcount( int mark ) throw(examresulterror); ; Hinweis Microsoft C unterstützt die Exception-Spezifikation in Deklarationen nicht C++ Ausnahmebehandlung 15
16 Anwendung der Exception-Hierarchie Viele Klassen und Funktionen der C++ Systembibliothek werfen im Fehlerfall Ausnahmeobjekte vom Typ exception aus. // out_of_range Exception // compile with: /EHsc #include <vector> #include <iostream> using namespace std; void main() { vector<int> v(10,0); try { cout << v.at(11) << endl; Caught: invalid vector<t> subscript string str( "Micro" ); Caught: invalid string position string rstr( "soft" ); str.append( rstr, 5); cout << str << endl; Index des 1. anzuhängenden Zeichens catch ( const exception &e ) { cerr << "Caught: " << e.what( ) << endl; catch(...) { cerr << "Unbehandelter Fehler!" << endl; C++ Ausnahmebehandlung 16
17 Exception-Hierarchie in C++ C++ stellt eine Reihe vordefinierter Exception-Klassen zur Verfügung, die alle von der Oberklasse exception (definiert in <stdexcept>) abgeleitet sind. Alle abgeleiteten Klassen erben von exception der Oberklasse exception namspace std { class exception { public: wirft selbst keine Ausnahmen exception() throw(); Standard-Konstruktor exception( const char* msg) throw(); Copy-Konstruktor exception( const exception& ) throw(); exception& operator=(const exception& rhs) throw(); virtual ~exception() throw(); virtual const char* what() const throw(); private: const char* str; // ; Returns the message msg with which the exception was created. Hier nochmal reinschauen nachdem Sie "geerbt" haben! runtime_error range_error overflow_error underflow_error bad_alloc bad_typeid bad_cast bad_exception C++-Vererbungshierarchie zur Verwendung durch STL logic_error invalid_argument length_error out_of_range domain_error C++ Ausnahmebehandlung 17
std::cerr << "unerwartete sonstige Exception" << std::endl; return EXIT_FAILURE; // main() mit Fehlerstatus beenden
Dozent: G.Döben-Henisch PPmP VL7 VL7: Ausnahmebehandlung in C++ Inhalt 1. Einleitung 2. Schlüsselworte 'try', 'catch', 'throw' 3. Standardfehlerklassen 4. Stapel Rückabwicklung ('stack unwinding') 5. Eigene
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1
Kapitel 11 Fehler und Ausnahmen Fehler und Ausnahmen 1 Ziele Fehlerquellen in Programmen und bei der Programmausführung verstehen Das Java-Konzept der Ausnahmen als Objekte kennenlernen Ausnahmen auslösen
MehrPraxisorientierte Einführung in C++ Lektion: "Exceptions"
Praxisorientierte Einführung in C++ Lektion: "Exceptions" Christof Elbrechter Neuroinformatics Group, CITEC June 18, 2014 Christof Elbrechter Praxisorientierte Einführung in C++ June 18, 2014 1 / 41 Table
MehrEinfü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
MehrSteueranweisungen. Eike Schallehn Grundlagen der Informatik für Ingenieure Wintersemester 08/09 2 32
Steueranweisungen Bisher Programme mit Funktionen als einfache Folge von Befehlen Ablauf von Programmen darüber hinaus steuerbar über Bedingte Ausführung: Ausführung von Programmteilen (Befehlen oder Programmblöcken)
MehrJava Fehlerbehandlung
Java Fehlerbehandlung 1 Fehlerbehandlung In jedem nicht-trivialen Programm kann es während der Laufzeit zu Fehlersituationen kommen. Dabei handelt es sich nicht unbedingt um Programmierfehler: z. B.: Programm
Mehr5. Elementare Befehle und Struktogramme
5. Elementare Befehle und Struktogramme Programmablauf Beschreibung des Programmablaufs mittel grafischer Symbole Beispiel : Flussdiagramme ja nein Besser : Struktogramme Dr. Norbert Spangler / Grundlagen
MehrBeispiel: Methode mit einem Fehler. Diese Methode wird problematisch, wenn von außen eine Dauer von 0 Sekunden angegeben wird, etwa im Aufruf
16 Exceptions Zur Behandlung unerwarteter Situationen bietet Java Unterstützung in Form von Exceptions oder Ausnahmen. Den Sinn von Exceptions können wir Ihnen an einem kleinen Beispiel klarmachen. Nehmen
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens SS2013 Inhalt Projekt Vorlesung: praktische Implementierung üben Ein und
MehrJavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.
JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung
MehrTeil II. Objektorientierte Programmierung und objektorientierter Entwurf
Teil II Objektorientierte Programmierung und objektorientierter Entwurf 39 Kapitel 8 Robuste Programme durch Ausnahmebehandlung Ziele: Lernen, robuste Programme zu schreiben Ausnahmen als Objekte verstehen
MehrExceptions. Prof. Dr. Margarita Esponda SS 2012. M. Esponda-Argüero
Exceptions Prof. Dr. Margarita Esponda SS 2012 1 Ausnahmen Eine Ausnahme (Exception) ist ein Fehler oder ein nicht geplantes Ereignis, das während der Ausführung eines Programms vorkommt und dessen normalen
MehrEine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.
Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,
MehrEs ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.
Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe
MehrHochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe
Aufgabenstellung Für ein Baumkataster sollen für maximal 500 Bäume Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Nummer Bauminfo Baumart Hoehe Baum Umfang
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
MehrÜberladen von Operatoren
- Überladen des Indexoperators [] - Überladen des Ausgabeoperators > Programmieren in C++ Informatik FH Trier C++12-1 ähnlich dem Überladen von Funktionen Überladen
MehrWelche Informatik-Kenntnisse bringen Sie mit?
Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt
MehrFunktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:
Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang
MehrC++ - Eine Ubersicht fur Java-Programmierer
C++ - Eine Ubersicht fur Java-Programmierer Daniel Wasserrab Lehrstuhl fur Programmierparadigmen Universitat Karlsruhe 23. April 2008 C++ I Entwickelt Anfang der 80er von Bjarne Stroustrup I Beeinut von
MehrMethoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only
Methoden Wie Konstruktoren und Destruktoren zum Auf- und Abbau von Objekten definiert werden, Wie inline-methoden Methoden,, Zugriffsmethoden und Read-Only Only- Methoden einzusetzen sind, Der this-pointer
MehrS. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then"
S. d. I.: Programieren in C Folie 4-1 4 Anweisungen 4.1 if-anweisung 1) if (Ausdruck) 2) if (Ausdruck) } else im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then" es wird nur der numerische Wert
MehrAnnehmende Schleife do while
Annehmende Schleife do while Schleife mit nachfolgender Bedingungsprüfung: annehmende Schleife B S Mit B wird eine Bedingung (logischer Ausdruck) bezeichnet, S ist ein Strukturblock. Zuerst wird S ausgeführt,
MehrJava-Schulung Grundlagen
Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings
MehrKlausurvorbereitung Lösung
Ausgabe 1 a) unsigned char erzeuge_bitmuster() static int z=0; int rest; unsigned char bm; rest = z % 4; z=z+1; switch (rest) case 0: bm = 0x00; break; case 1: bm = 0x11; break; case 2: bm = 0x33; break;
MehrThemen. 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
Mehr5.13 Umgang mit Fehlern
5.13 Umgang mit Fehlern Klassifikation von Fehlern: Syntaxfehler: Lexikalische Fehler: Falsche oder unbekannte Worte String s neu String("Max"); Falsche Anordnung von Anweisungen: Falscher Typ: import
Mehr4 Schleifen und Dateien
4 Schleifen und Dateien 4.1 Übungsaufgabe 4.1.1 Aufgabe 1 Schreiben Sie drei C++ Programme: pword_for.cxx, pword_while.cxx, pword_do.cxx. Die Programme sollen den Benutzer höchstens 5 Mal nach einem Passwort
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2012/13 Inhalt Rekursive Programmierung Beispiel _ Determinanten von
MehrGliederung Grundlagen Schlüsselworte try-catch Fehlerobjekte Fehlerklassen Schlüsselwort finally Schlüsselwort throws selbst erstellte Exceptions
try-catch Schlüsselworte try-catch e Schlüsselwort Schlüsselwort selbst erstellte ermöglichen die Behandlung von Fehlern, die zur Laufzeit entstehen. try-catch in C: Fehler führt immer zum Abbruch des
MehrException. 6. Exceptions. Die Klasse java.lang.exception. Fehlermeldung. Klassenname. Ort des Auftretens
6. Exceptions Exception Hintergrund: Programmieren auf der Basis von Verträgen Kundenklasse Lieferantenklasse Eine Exception ist ein Objekt, das Informationen über einen Programmfehler enthält. Eine Exception
MehrElementare Datentypen in C++
Elementare Datentypen in C++ bool signed/unsigned char signed/unsigned short int signed/unsigned int signed/unsigned long int (signed/unsigned long long int) float double long double void enum char Der
MehrHochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe
Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten
MehrC++ - 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
MehrJava 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8
Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen
MehrÜ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
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2010/11 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Wiederholungen - while - do-while - for
MehrProgrammieren I + II Regeln der Code-Formatierung
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme WS 2016/2017, SS 2017 Programmieren I + II Regeln der Code-Formatierung In diesem Dokument finden
MehrProgrammierung in C. Grundlagen. Stefan Kallerhoff
Programmierung in C Grundlagen Stefan Kallerhoff Vorstellungsrunde Name Hobby/Beruf Schon mal was programmiert? Erwartungen an den Kurs Lieblingstier Für zu Hause C-Buch online: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/
MehrProgrammiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 7. Funktionen Einleitung Nach dem Prinzip Divide and Conquer bietet es sich an, größere Aufgaben in kleinere Teile zu unterteilen. Anweisungsblöcke,
MehrObjektorientierte Programmierung mit C++ SS 2007
Objektorientierte Programmierung mit C++ SS 2007 Andreas F. Borchert Universität Ulm 3. Juli 2007 Ausnahmenbehandlungen #include #include OutOfMemory.C using namespace std; int main()
MehrRO-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
MehrC# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung
C# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung 1. "Hai!" [Konsolenanwendung] Console.WriteLine("Hai, wie geht's?"); 2. Muktiplikation mit sich selbst [Konsolenanwendung] // Ausgabe
MehrPraxisorientierte Einführung in C++ Lektion: "Kontrollstrukturen"
Praxisorientierte Einführung in C++ Lektion: "Kontrollstrukturen" Christof Elbrechter Neuroinformatics Group, CITEC April 24, 2014 Christof Elbrechter Praxisorientierte Einführung in C++ April 24, 2014
Mehrmagnum C++ WALTER SAUMWEBER kompakt komplett kompetent
magnum C++ WALTER SAUMWEBER kompakt komplett kompetent Quickview... 5 Liebe Leserin, lieber Leser... 13 Teil 1 Grundlagen... 15 1 Was ist Programmieren?... 17 1.1 Was ist eigentlich ein Computerprogramm?...
MehrObjektorientiertes Programmieren mit C++ für Fortgeschrittene
BEREICH DATENTECHNIK I CQ 600 00 TH 01 Objektorientiertes Programmieren mit C++ für Fortgeschrittene Kapitel 6 6. Ausnahmebehandlung (Exception Handling) 6.1. Allgemeines 6.2. Werfen und Fangen von Exceptions
Mehr5 Grundlagen der Java-Syntax
5 Grundlagen der Java-Syntax Es sollen nun einige Grundregeln besprechen, die in jeder Java-Programmdatei berücksichtigt werden müssen. 5.1 Grundsätzliches zur Syntax von Java Programmen Zunächst sollten
MehrDatenbankanwendungsprogrammierung Crashkurs Java
Datenbankanwendungsprogrammierung Crashkurs Java Denny Priebe Datenbankanwendungsprogrammierung p. Unterschiede zu C, C++ typedefs, Präprozessor Strukturen, Unions globale Funktionen Mehrfachvererbung
MehrPraktikum Informatik II Prof. Dr. Martin Trauth, Dr. Michael Männel
Praktikum Informatik II Prof. Dr. Martin Trauth, Dr. Michael Männel FB Physikalische Technik Musterlösungen Teil 4 Aufgabe 1 package teil4; import javax.swing.*; public class Ei { int haltung, ident; String
MehrTheorie 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Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung
Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des
Mehr1.8 Kontrollstrukturen 73. default : ziffer = 0; if (ziffer > 0) { cout << "Ziffer = " << ziffer; else { cout << "keine römische Ziffer!
1.8 Kontrollstrukturen 73 default : ziffer = 0; if (ziffer > 0) { cout
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS2013/14 Inhalt Übung(Aufklärung) Vererbung(wdh.) Initilisierung bei Vererbung
MehrDAP2-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
MehrBKTM - Programmieren leicht gemacht.
BKTM Programmieren leicht gemacht. + Struktogramm Das Struktogramme ist eine Entwurfsmethode für die strukturierte Programmierung. Es ist nach der DIN 66261 genormt. Es ist 1972/73 von Dr. Isaac Nassi
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 6. Methoden
Grundlagen der Programmierung Prof. H. Mössenböck 6. Methoden Parameterlose Methoden Beispiel: Ausgabe einer Überschrift class Sample { static void printheader() { // Methodenkopf Out.println("Artikelliste");
MehrObjektorientiertes 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
MehrII. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
MehrJava Einführung Methoden. Kapitel 6
Java Einführung Methoden Kapitel 6 Inhalt Deklaration und Aufruf von Methoden Lokale und globale Namen (Bezeichner) Sichtbarkeit und Lebensdauer von Variablen in Methoden Überladen von Methoden 2 Methoden
MehrVererbung & 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
Mehr9. Fehlerbehandlung Advanced Programming Techniques. Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik
9. Fehlerbehandlung Advanced Programming Techniques Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik:
MehrProgrammiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 5. Kontrollstrukturen Allgemein Kontrollstrukturen dienen zur Steuerung des Programmablaufs. (Bemerkung: C und C++ besitzen die selben Kontrollstrukturen.)
MehrSchleifen in C/C++/Java
Schleifen in C/C++/Java Alle 3 Sprachen stellen mindestens die folgenden 3 Schleifenkonstruktionen zur Verfügung. In C gibt es auch keine weiteren, C++, Java und C# haben noch weitere nützliche Varianten.
MehrInformatik für Elektrotechnik und Informationstechnik
Informatik für Elektrotechnik und Informationstechnik Praktikum 1 Wintersemester 2013/14 1 Kennenlernen der Entwicklungsumgebung Netbeans Netbeans ist eine moderne Entwicklungsumgebung für mehrere Programmiersprachen,
Mehr13. Vererbung. Prof. Dr. François E. Cellier Informatik I für D-ITET (HS 2012)
13. Vererbung Prof. Dr. François E. Cellier Informatik I für D-ITET (HS 2012) Vererbung Konzept Protected Section Virtuelle Mitgliedsfunktionen Verwendung von Vererbung Vererbung Vererbung ist ein Mechanismus,
MehrDelegatesund Ereignisse
Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses
MehrProf. W. Henrich Seite 1
Klasse - ist ein benutzerdefinierter Datentyp (Referenztyp) - hat Datenelemente - hat Methoden - Konstruktor ist spezielle Methode zum Erstellen eines Objektes vom Typ der Klasse (Instanz) - jede Klasse
Mehr3. Anweisungen und Kontrollstrukturen
3. Kontrollstrukturen Anweisungen und Blöcke 3. Anweisungen und Kontrollstrukturen Mit Kontrollstrukturen können wir den Ablauf eines Programmes beeinflussen, z.b. ob oder in welcher Reihenfolge Anweisungen
MehrAbend 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
MehrRepetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
MehrInhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler
Inhaltsverzeichnis Grundbegriffe der C-Programmierung 1. Grundsätzliches... 2 1.1 Darstellung von Werten... 2 1.1.1 Dezimale Zahlendarstellung... 2 1.1.2 Binäre Zahlendarstellung... 3 1.1.3 Hexadezimale
MehrTHE GO PROGRAMMING LANGUAGE. Michael Karnutsch & Marko Sulejic
THE GO PROGRAMMING LANGUAGE Part 1: Michael Karnutsch & Marko Sulejic Gliederung Geschichte / Motivation Compiler Formatierung, Semikolons Variablen, eigene Typen Kontrollstrukturen Funktionen, Methoden
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrEinführung in die Programmierung 1
Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener
MehrAuD-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
Mehr12. Vererbung. Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04)
12. Vererbung Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04)!Vererbung Konzept!Protected Section!Virtuelle Mitgliedsfunktionen!Verwendung von Vererbung Copyright: M. Gross, ETHZ, 2003 2 Vererbung!
MehrHS Ravensburg-Weingarten Schriftlich Prüfung Programmieren
HS Ravensburg-Weingarten Schriftlich Prüfung Programmieren Prof. Dr. M. Zeller Datum, Zeit, 08:00 10:00 Uhr (120 min) Aufgabenblätter 16 Seiten (einschl. Deckblatt) erreichbare Punktzahl 58 zugelassene
MehrCodingstandard. Softwareentwicklung Praktikum Stand: 27.02.2008
I. Einleitung II. Codingstandard Softwareentwicklung Praktikum Stand: 27.02.2008 Wie in der Vorlesung schon ausgeführt wurde, ist die Lesbarkeit und Wartbarkeit des Sourcecodes ein sehr wichtiges Kriterium
MehrGrundlagen. Die Komponenten eines C Programms. Das erste Programm
Grundlagen 1. Die Komponenten eines C Programms 2. Ein Programm erzeugen und übersetzen 3. Variablen Deklarieren und Werte zuweisen 4. Zahlen eingeben mit der Tastatur 5. Arithmetische Ausdrücke und Berechnungen
MehrObjektorientierte Programmierung mit C++ Zusammenfassung der wichtigsten Topics rund um die objektorientierte Programmierung mit C++11
Objektorientierte Programmierung mit C++ Zusammenfassung der wichtigsten Topics rund um die objektorientierte Programmierung mit C++11 Wozu objektorientiertes Programmieren? Die Welt besteht für den Menschen
Mehr7 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
MehrInformatik 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
MehrUNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme
UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme 8. Übung zur Vorlesung Datenbanksysteme WS 08/09 Musterlösung Aufgabe 8-1: SQLJ //
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18
Kapitel 3 Datentypen und Variablen Seite 1 von 18 Datentypen - Einführung - Für jede Variable muss ein Datentyp festgelegt werden. - Hierdurch werden die Wertemenge und die verwendbaren Operatoren festgelegt.
MehrTutorium Rechnerorganisation
Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
MehrVorkurs 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:
MehrProgrammierung 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
MehrPass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl
Funktionen Zusammenfassung von Befehlssequenzen als aufrufbare/wiederverwendbare Funktionen in einem Programmblock mit festgelegter Schnittstelle (Signatur) Derartige prozedurale Programmierung erlaubt
MehrEinfü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
MehrProbeklausur: 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,
MehrJava Einführung ABLAUFSTEUERUNG Kapitel 3 und 4
Java Einführung ABLAUFSTEUERUNG Kapitel 3 und 4 Inhalt dieser Einheit Merkmale und Syntax der verschiedenen Kontrollstrukturen: if else switch while do while for break, continue EXKURS: Rekursion 2 Kontrollstrukturen
MehrUnterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur
Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Die Vererbung ermöglicht es, neue Klassen auf der Basis von schon
MehrProgrammieren in C/C++ und MATLAB
Programmieren in C/C++ und MATLAB Sven Willert Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU 4-1 Übung 1) Schreiben Sie ein Programm, das die Fläche unter einer Parabel, also das Integral
MehrJava Vererbung. Inhalt
Java Vererbung Inhalt 1 Zielsetzung... 2 1.1 Bewertung... 2 2 Grundlagen der Vererbung... 2 2.1 Super und Subklassen... 2 3 Überladen von Methoden... 4 3.1 Unterschiedliche Parameter... 4 3.2 Gleiche Parameter
MehrProgrammieren von Webinformationssystemen
Programmieren von Webinformationssystemen Wolfgang Gassler Databases and Information Systems (DBIS) Institute of Computer Science University of Innsbruck dbis-informatik.uibk.ac.at 1 HTML Hypertext Markup
MehrC- Kurs 04 Anweisungen
C- Kurs 04 Anweisungen Dipl.- Inf. Jörn Hoffmann jhoffmann@informa@k.uni- leipzig.de Universität Leipzig Ins@tut für Informa@k Technische Informa@k Ausdrücke Institut für Informatik Anweisungen C-Programm
MehrKlausur in Programmieren
Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Wintersemester 2010/11, 17. Februar 2011 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt)
MehrProgrammieren 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
Mehr10. Namespaces, Templates und Exceptions
C und C++ (CPP) 10. Namespaces, Templates und Exceptions Prof. Dr. Marc Rennhard Institut für angewandte Informationstechnologie InIT ZHAW Zürcher Hochschule für angewandte Wissenschaften marc.rennhard@zhaw.ch
Mehr