Informationsverarbeitung im Bauwesen
|
|
- Catharina Bader
- vor 7 Jahren
- Abrufe
Transkript
1 Einleitung 1/25 Informationsverarbeitung im Bauwesen Einführung in das Programmieren mit C++ Markus Uhlmann Institut für Hydromechanik Karlsruher Institut für Technologie WS 2010/2011 Vorlesung 12
2 Einleitung 2/ VORLESUNG Überladen von Operatoren Advice: Define operators primarily to mimic conventional usage. B. Stroustrup
3 Einleitung 3/25 Fragen, die in dieser Vorlesung diskutiert werden Wie können Operationen zwischen Objekten durch natürliche Operatorsymbole ausgedrückt werden? Welche Möglichkeiten und Beschränkungen bestehen dabei?
4 Wieso Einleitung Überladen von Operatoren? Beispiel: Arbeiten mit Vektoren Addition von Vektoren: Addieren jedes Elementes int ort[3], verschiebung[3], resultat[3]; for (int i=0; i<3; i++) resultat[i]=ort[i]+verschiebung[i];//addition per Element implementiert durch eine Klasse vektor : vektor ort, verschiebung, resultat; resultat=ort.add(verschiebung); //Addition von Objekten wäre Folgendes nicht praktisch? resultat=ort+verschiebung; //Addition von Objekten Operator + überladen durch Additionsfunktion für Klasse vektor 4/25
5 Einleitung 5/25 Überladen von Operatoren: wie funktioniert es? resultat = ort + verschiebung; //Addition von Objekten typische Notation für Addition verbirgt den Mechanismus (Details), betont das Essentielle Syntax für Operatorfunktionen: <rueckgabetyp> operator <op> (<parameterliste>) Compiler ersetzt durch resultat=ort+verschiebung; resultat=ort.operator+(verschiebung); <op> beinhaltet i.d.r. Sonderzeichen (hier erlaubt)
6 Einleitung Operator + Beschränkungen Operatoren -, * Einführung in überladene Operatoren an einem Beispiel Eine Klasse zur Behandlung von Zeitdaten Zeitangabe bestehend aus Stunden, Minuten Wertebereich der Minuten: [0, 59] 2 Ganzzahlen Funktionen: Anzeigen, Summieren, Initialisieren, class Time{ 13 private: Version: ohne überladene Ops. 14 int hours; 15 int minutes; 26 int main(){ 16 public: 27 Time vorbereitung(1,30); 17 Time(); 28 Time implementierung(1,10); 18 Time(int h, int m=0); 19 void AddMin(int m); void AddHr(int h); gesamt=vorbereitung.sum(implementierung); void Reset(int h=0, int m=0); gesamt=gesamt.sum(fehlersuche); 22 Time Sum(const Time t) const; 23 void Show() const; (Quelltext 12.1) 6/25
7 Einleitung Operator + Beschränkungen Operatoren -, * Version mit überladenem Additionsoperator Ersetzen der Funktion Sum durch Operator + ermöglicht Operator- oder Funktionsschreibweise 11 class Time{ 12 private: 13 int hours; 14 int minutes; 15 public: 16 Time(); 17 Time(int h, int m=0); 18 void AddMin(int m); 19 void AddHr(int h); 20 void Reset(int h=0, int m=0); 21 Time operator+(const Time t) 22 const; 23 void Show() const; 24 }; Version: mit überladenem + 27 Time vorbereitung(1,30); 28 Time implementierung(1,10); 29 Time fehlersuche(0,40); 30 Time gesamt; 43 gesamt=vorbereitung+implementierung; 44 gesamt=gesamt+fehlersuche; 45 /* funktioniert auch: 46 gesamt=gesamt.operator+(fehlersuche); 47 */ (Quelltext 12.2) 7/25
8 Einleitung Operator + Beschränkungen Operatoren -, * 8/25 Regeln des Überladens von Operatoren (i) Regel 1: nur existierende Operatorsymbole verwenden es ist nicht möglich neue Operatorsymbole zu definieren Bsp: Operator ** zur Potenzierung (nicht möglich) Regel 2: manche Operatoren können nicht überladen werden Operatorsymbole, die nicht zu überladen sind: sizeof,., ::,? (und weitere) die meisten Operatorsymbole sind überladbar (sh. Tabelle)
9 9/25 Regeln des Einleitung Operator + Beschränkungen Operatoren -, * Überladens von Operatoren (ii) Regel 3: mind. ein Operand muss benutzerdefiniert sein Überladen von Operatoren soll neuen Datentypen dienen soll verhindern, Standardoperationen neu zu definieren Bsp: Redefinition von - für zwei Ganzzahlen nicht möglich Regel 4: Eigenschaften des Operators bleiben unverändert Überladen kann nicht die Priorität des Operators ändern ebenso bleibt Anzahl der Operanden erhalten Bsp: int x=5; Time training; % x; //illegal fuer Restwertoperator % training; //illegal fuer ueberladenen Op.
10 Einleitung Operator + Beschränkungen Operatoren -, * 10/25 Regeln des Überladens von Operatoren (iii) Regel 5: einige Operatoren müssen Elementfunktionen sein die meisten Operatoren können entweder als Elementfunktionen oder nicht-elementfunktionen implementiert werden Ausnahmen sind: =, (), [], -> nur als Elementfunktionen zu redefinieren Empfehlung: Überladen sinnverwandt mit Originaloperator Operatorsymbol soll Sinn der Operation suggerieren bei Nichtbeachtung: unverständlicher Code Bsp: Überladen von * durch Vektoraddition (nein!)
11 Einleitung Operator + Beschränkungen Operatoren -, * 11/25 Zeitklasse mit weiteren Operatoren (Version 1) Funktion für Subtraktion zweier Zeitspannen: - Multiplikation einer Zeitspanne mit Faktor: * 11 class Time{ 12 private: 13 int hours; 14 int minutes; 15 public: 16 Time(); 17 Time(int h, int m=0); 18 Time operator+(const Time t) 19 const; 20 Time operator-(const Time t) 21 const; 22 Time operator*(const float mult) 23 const; 24 void Show() const; Version: mit +, -, * 27 int main(){ 28 Time planen(18,30); 29 Time herstellen(60,0); 30 Time gesamt,diff,korrigiert; 42 gesamt=planen+herstellen; 43 diff=herstellen-planen; 44 korrigiert=gesamt*1.25; (Quelltext 12.3)
12 Einleitung Operator + Beschränkungen Operatoren -, * 12/25 Zeitklasse mit weiteren Operatoren: Problem Multiplikationsoperator erlaubt keine Vertauschung Multiplikation gesamt*1.25 möglich (s.o.) mathematisch äquivalentes 1.25*gesamt nicht möglich! wieso nicht? Elementfunktion: erster Operand ist aufrufendes Objekt aber hier 1.25 kein Objekt! Lösung: Implementierung des Operators als nicht-elementfunktion Funktion benötigt folgende Signatur (Prototyp): Time operator*(double mult, Time t) Funktion benötigt Zugriffsrechte auf Elementvariablen Deklaration als friend in Klasse Time
13 Einleitung Operator + Beschränkungen Operatoren -, * 13/25 Zeitklasse mit weiteren Operatoren (Version 2) nicht-elementfunktion wird Teil der Schnittstelle der Klasse 12 class Time{ 13 private: 14 int hours; 15 int minutes; 16 public: 17 Time operator+(const Time t) 18 const; 19 Time operator-(const Time t) 20 const; 21 Time operator*(const float mult) 22 const; 23 friend Time operator*( 24 const float mult, 25 const Time t); Version: mit friend 31 int main(){ 32 Time planen(18,30); 33 Time herstellen(60,0); 34 Time gesamt,diff,korrigiert; 46 //Elementfunktion: 47 korrigiert=gesamt*1.25; 48 //nicht-elementfunktion: 49 korrigiert=1.25*gesamt; (Quelltext 12.4)
14 Einleitung Operator + Beschränkungen Operatoren -, * Zeitklasse mit weiteren Operatoren (Version 3) friend Status kann vermieden werden: nicht-elementfunktion kehrt lediglich Reihenfolge um aber: Funktion taucht nicht in Deklaration von Time auf 12 class Time{ 13 private: 14 int hours; 15 int minutes; 16 public: 17 Time operator+(const Time t) 18 const; 19 Time operator-(const Time t) 20 const; 21 Time operator*(const float mult) 22 const; 23 //keine friend Deklaration 24 void Show() const; 25 Time(); Version: ohne friend 105 Time operator*( 106 const float mult, 107 const Time t){ 108 //ruft nur oeffentliche 109 // Elementfunktion mit 110 // umgekehrter Reihenfolge 111 // auf 112 //-> benoetigt keinen 113 // friend Status 114 return t*mult; 115 }; (Quelltext 12.5) 14/25
15 Einleitung Operator + Beschränkungen Operatoren -, * 15/25 Bemerkungen zu nicht-elementfunktionen nicht-elementfunktionen, welche die Funktionalität einer Klasse erweitern Hilfsfunktionen Hilfsfunktionen sollten zusammen mit eigentlicher Klasse deklariert und definiert werden Quelltext in gleicher Datei wie Klasse anordnen Elementfunktion oder nicht-elementfunktion? manche Operatoren erlauben nur Elementfunktion (s.o.) sonst: beide Optionen meist äquivalent
16 16/25 Einleitung Operator << Beispiel: komplexe Zahlen Überladen des Operators << zur Ausgabe von Time Bildschirmausgabe durch Objekt cout (Typ ostream) Operator << ist bereits überladen für diverse Basistypen wir wünschen uns Folgendes für die Klasse Time: Time film; cout << film; //gibt Laenge des Films aus Implementierung als nicht-elementfunktion (denn: cout<<film ist sonst äquivalent zu cout.operator<<(film) )
17 17/25 Einleitung Operator << Beispiel: komplexe Zahlen Operator << für die Klasse Time (Version 1) analog zu Operator * in Programm 12.4 Problem: diese Version erlaubt keine Verkettung 19 class Time{ 20 private: 21 int hours; 22 int minutes; 23 public: 24 Time(); 25 Time(int h, int m=0); 26 friend void operator<<( 27 ostream & os, 28 const Time & t); 29 }; Version: void 31 int main(){ 32 Time halbzeit1(0,45); 33 cout << "Halbzeit1: "; 34 cout << halbzeit1; 54 void operator<<(ostream & os, 55 const Time & t) { 56 os << t.hours << " Stunden, " 57 << t.minutes << " Minuten"; 58 } (Quelltext 12.6)
18 18/25 Einleitung Operator << Beispiel: komplexe Zahlen Operator << für die Klasse Time (Version 2) Verkettung von Ausgabeoperationen: cout<<zeit1<<zeit2 jede einzelne Operation muss Objekttyp ostream liefern 14 class Time{ 15 private: 16 int hours; 17 int minutes; 18 public: 19 Time(); 20 Time(int h, int m=0); 21 friend ostream & operator<<( 22 ostream & os, 23 const Time & t); 24 }; Version: ostream & 31 /* Verkettung funktioniert: */ 32 cout << "Halbzeit1: " 33 << halbzeit1 34 << "; " 35 << "Halbzeit2: " 36 << halbzeit2 37 << "; " 38 << "Nachspiel: " 39 << nachspiel 40 << endl; (Quelltext 12.7)
19 19/25 Einleitung Beispiel: Klasse für komplexe Zahlen Operator << Beispiel: komplexe Zahlen Komplexe Zahlen komplexe Zahlen besitzen Real- und Imaginärteil c = c r + I c i mit: I = 1 und reellen c r, c i Konsequenzen für arithmetische Operationen Überladen von Operatoren bietet sich an es existiert eine Klasse complex in Standardbibliothek dieser Entwurf dient nur zu Übungszwecken
20 20/25 Einleitung Klasse complex Operator << Beispiel: komplexe Zahlen Deklaration 15 class complex{ 16 private: 17 //Elementdaten 18 double re; //Realteil 19 double im; //Imaginaerteil 20 //-> c=c.re+c.im*i 21 //[ I steht fuer wurzel(-1)] 22 public: 23 //Konstruktor: 24 complex(double r=0, double i=0) : 25 re(r), im(i) { } //Zugriffsfunktionen: 28 double real() const {return re;} 29 double imag() const {return im;} //Zusammengesetzte binaere Operatoren: 32 complex & operator+=(complex c); 33 complex & operator+=(double d); 34 complex & operator*=(complex c); 35 complex & operator*=(double d); 36 //fehlen: -=, /= 37 }; (Quelltext 12.8)
21 Einleitung Klasse complex (ii) Operator << Beispiel: komplexe Zahlen Implementierung 39 complex & complex::operator+=(complex c){ 40 re += c.re; 41 im += c.im; 42 return *this; // this pointer zeigt auf das 43 //Objekt selber 44 } 45 complex & complex::operator+=(double d){ 46 re += d; 47 return *this; 48 } 49 complex & complex::operator*=(complex c){ 50 //Vorschrift zur Multiplikation 51 // zweier komplexer Zahlen: 52 //a*b=(ar+i*ai)*(br+i*bi) 53 // =(ar*br-ai*bi)+i*(ai*br+bi*ar) 54 double r = re*c.real()-im*c.imag(); 55 double i = im*c.imag()+re*c.real(); 56 re = r; 57 im = i; 58 return *this; // this pointer zeigt auf das 59 //Objekt selber 60 } 61 complex & complex::operator*=(double d){ 62 re *= d; 63 im *= d; 64 return *this; 65 } 21/25
22 22/25 Einleitung Klasse complex (iii) Operator << Beispiel: komplexe Zahlen Hilfsfunktionen 68 //1. binaere Operatoren 69 complex operator+(complex a, complex b){ 70 complex r = a; 71 return r += b;//aufruf: complex::operator+=(complex) 72 } 73 complex operator+(complex a, double b){ 74 complex r = a; 75 return r += b;//aufruf: complex::operator+=(double) 76 } 77 complex operator+(double a, complex b){ 78 complex r = b; 79 return r += a;//aufruf: complex::operator+=(double) 80 } 81 complex operator*(complex a, complex b){ 82 complex r = a; 83 return r *= b;//aufruf: complex::operator*=(complex) 84 } 85 complex operator*(complex a, double b){ 86 complex r = a; 87 return r *= b;//aufruf: complex::operator*=(double) 88 } 89 complex operator*(double a, complex b){ 90 complex r = b; 91 return r *= a;//aufruf: complex::operator*=(double) 92 } 93 //fehlen: -, /
23 Einleitung Klasse complex (iv) Operator << Beispiel: komplexe Zahlen Hilfsfunktionen 2 95 //2. unaere Operatoren 96 complex operator+(complex a){ 97 return a; 98 } 99 /* complex operator-(complex a){ 100 return a*(double(-1));//aufruf: complex::operator*=(double) 101 } */ 102 //3. Vergleichsoperatoren 103 bool operator==(complex a, complex b){ 104 return a.real() == b.real() && 105 a.imag() == b.imag() ; 106 } 107 //fehlt:!= //4. Ein/Ausgabeoperatoren 110 ostream & operator<<(ostream & os, complex c){ 111 os << c.real() << "+I*(" << c.imag() <<")"; 112 return os; 113 } 114 //fehlt: >> //5. diverse mathematische Funktionen 117 complex conj(complex c){ 118 //konjugiert komplexe Zahl 119 complex r=complex(c.real(),c.imag()*(-1)); 120 return r; 121 } 23/25
24 24/25 Einleitung Klasse complex (v) Operator << Beispiel: komplexe Zahlen Testprogramm 138 int main(){ 139 //einige moegliche Operationen mit Typ complex 140 complex a = complex(1,2); 141 cout << "a = " << a << endl; complex b = 3; 144 cout << "b = " << b << endl; complex c = a+2.3; 147 cout << "c = a+2.3 = " << c << endl; complex d = 2+b; 150 cout << "d = 2+b = " << d << endl; complex e = a*c; 153 cout << "e = a*c = " << e << endl; return 0; 156 }
25 25/25 Einleitung Klasse complex freiwillige Aufgabe Operator << Beispiel: komplexe Zahlen komplettieren Sie das Programm (12.8), indem Sie die fehlenden Operatorfunktionen und Hilfsfunktionen ergänzen
26 1/5 Zusammenfassung Anhang Zusammenfassung Literatur Mehr Überladen von Operatoren erlaubt intuitiven Syntax bei Operationen zwischen Objekten sollte wohldosiert eingesetzt werden Elementfunktion: erster Operand ist aufrufendes Objekt falls dies nicht erwünscht: nicht-elementfunktion überladene Operatoren behalten ihre Eigenschaften bei: Anzahl der Operanden, Priorität, Assoziativität
27 2/5 Anhang Anhang Zusammenfassung Literatur Mehr
28 3/5 Anhang Zusammenfassung Literatur Mehr Weiterführende Literatur S. Prata, C++ Primer Plus, Sams, 2005 S. Oalline, Practical C++ Programming, O Reilly, 2003 J. Liberty and B. Jones, Teach yourself C++ in 21 days, Sams, 2005 R. Lischner, C++ in a Nutshell, O Reilly, 2003 Handbücher erhältlich am Rechenzentrum: (Weblink) RRZN, Die Programmiersprache C, 17. Auflage, 2008 RRZN, C++ für C Programmierer, 13. Auflage, 2005 Online Dokumentation zum C++ Standard (Weblink) (freie) Microsoft Software für Studenten am KIT: (Weblink)
29 Bedingungsoperator? Anhang Zusammenfassung Literatur Mehr Der einzige ternäre Operator (mit 3 Operanden) in C++ Syntax: <bedingung>? <Anweisung1> : <Anweisung2> falls <bedingung> wahr: führt <Anweisung1> aus, sonst: führt <Anweisung2> aus Abkürzung für äquivalentes if...else int main (){//Bsp: Operator? int a=2,b=7,c; c = (a>b)? a : b; cout << c; return 0;} int main (){//Bsp: if...else int a=2,b=7,c; if (a>b) c=a; else c=b; cout << c; return 0;} 4/5
30 5/5 Anhang Zusammenfassung Literatur Mehr Operatorsymbole, die überladen werden können + - * / % ^ & ~=! = < > += -= *= /= %= ^= &= = << >> >>= <<= ==!= <= >= && ++ --, ->* -> () [] new delete new [] delete []
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
MehrInformationsverarbeitung im Bauwesen
1/24 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 7
MehrInformationsverarbeitung
1/15 Informationsverarbeitung Einführung in das Programmieren mit C++ Markus Uhlmann Institut für Hydromechanik Karlsruher Institut für Technologie www.ifh.kit.edu WS 2011/2012 Vorlesung 14 (Download Quelldateien)
MehrInformationsverarbeitung
1/23 Informationsverarbeitung Einführung in das Programmieren mit C++ Markus Uhlmann Institut für Hydromechanik Karlsruher Institut für Technologie www.ifh.kit.edu WS 2011/2012 Vorlesung 4 (alle Quelldateien
MehrObjektorientierte Programmierung mit C++
Ziel: maximales Code-Sharing -- Weg: gemeinsame (aber ggf. in Ableitungen variierende) Funktionalität in Basisklassen festlegen Problem: die so entstehenden Basisklassen sind oft so rudimentär, dass Objekterzeugung
MehrEinfü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
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
MehrEinführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)
Wintersemester 2005/06 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl
MehrC++ - 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
Mehr10.4 Konstante Objekte
10.4 Konstante Objekte Genau wie bei einfachen Datentypen (int,double,...) kann man auch Objekte als const deklarieren. Eine solche Deklaration bedeutet, daß alle Attribute so behandelt werden, als wären
MehrDAP2-Programmierpraktikum Einführung in C++ (Teil 2)
DAP2-Programmierpraktikum Einführung in C++ (Teil 2) Carsten Gutwenger 18. April 2008 Lehrstuhl 11 Algorithm Engineering Fakultät für Informatik, TU Dortmund Überblick Dynamischer Speicher Klassen und
MehrThema 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:
MehrC++ Teil 10. Sven Groß. 17. Dez IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Dez / 14
C++ Teil 10 Sven Groß IGPM, RWTH Aachen 17. Dez 2014 Sven Groß (IGPM, RWTH Aachen) C++ Teil 10 17. Dez 2014 1 / 14 Themen der letzten Vorlesung Objektorientierung und Klassen Attribute / Datenelemente
MehrC++ Teil 9. Sven Groß. 17. Juni Sven Groß (IGPM, RWTH Aachen) C++ Teil Juni / 17
C++ Teil 9 Sven Groß 17. Juni 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 9 17. Juni 2016 1 / 17 Themen der letzten Vorlesung Objektorientierung und Klassen Attribute / Datenelemente Methoden / Elementfunktionen
MehrÜberblick. Überblick. Abstrakte Klassen - rein virtuelle Funktionen Beispiele
Überblick 1. Einführung C++ / Entwicklung/ Sprachfamilie 2. Nicht objektorientierte Erweiterungen von C 2.1 Das Ein-/Ausgabekonzept von C++ 2.2 Referenzen in C++ 2.3 Heap-Allokatoren in C++ 3. Grundlagen
MehrVokabeln. 4.1 Benutzer definierte Datentypen. Kapitel 4. Prof. Dr. Gerhard Berendt C++ oop? SS 2002 Arbeitsblatt 4
4.1 Benutzer definierte Datentypen C++ unterstützt die Einführung benutzer definierter Datentypen (auch Abstrakte Datentypen (ADT) genannt). ADTs bieten einen guten Einstieg in das Paradigma der objekt
MehrC++ - 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,
MehrInformationsverarbeitung im Bauwesen
1/23 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 6
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
MehrAngewandte Mathematik in OOP WS 2011/12. Abschluss-Test
Angewandte Mathematik in OOP WS 2011/12 Abschluss-Test 012 6 5 4 5 6 Aufgabe 1 (9 Punkte 1 Punkt je Antwort) Bitte jeweils eine Antwort ankreuzen (je nach Fragestellung die richtige oder falsche): a.)
MehrInformationsverarbeitung
1/24 Informationsverarbeitung Einführung in das Programmieren mit C++ Markus Uhlmann Institut für Hydromechanik Karlsruher Institut für Technologie www.ifh.kit.edu WS 2011/2012 Vorlesung 5 (Download Quelldateien)
Mehr4. Objektorientierte Programmierung mit C++
4. Objektorientierte Programmierung mit C++ Einführung C++ / Entwicklung/ Sprachfamilie Nicht objektorientierte Erweiterungen von C Grundlagen des Typkonzepts von C++ Ziele der Objektorientierung Objekt
MehrAusdrücke der Programmiersprache Java
Ausdrücke der Programmiersprache Java Hamburg 1 Ablauf des Vortrags 01. Eigenschaften von Ausdrücken 02. Arithmetische Operatoren 03. Relationale Operatoren 04. Logische Operatoren 05. Bitweise Operatoren
MehrC++ Teil 4. Sven Groß. 30. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 16
C++ Teil 4 Sven Groß IGPM, RWTH Aachen 30. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 4 30. Apr 2015 1 / 16 Themen der letzten Vorlesung Funktionen: Definition und Aufruf Wert- und Referenzparameter,
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
MehrTeil 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
MehrInformationsverarbeitung
1/19 Informationsverarbeitung Einführung in das Programmieren mit C++ Markus Uhlmann Institut für Hydromechanik Karlsruher Institut für Technologie www.ifh.kit.edu WS 2011/2012 Vorlesung 13 (Download Quelldateien)
MehrPolymorphie. Überladen. Definition Methodennamen überladen Konstruktoren überladen Operatoren überladen Beispiele. Dr.
Polymorphie Überladen Definition Methodennamen überladen Konstruktoren überladen Operatoren überladen Beispiele Dr. Beatrice Amrhein Definition 2 Definition: Überladen (von Namen) Überladen bedeutet, dass
MehrRückblick: Benutzerdefinierte Datentypen Definition der Klasse Vektor als Container für 2-dimensionale Vektoren
Rückblick: Benutzerdefinierte Datentypen Definition der Klasse Vektor als Container für 2-dimensionale Vektoren class Vektor public: double k1, k2; // Deklaration der Klasse Vektor // Elementvariablen
MehrC++ Klassen weitere Funktionen
C++ Klassen weitere Funktionen Übersicht static Elemente const Elemente Zusätzliches zu Konstruktoren Kopier-Konstruktor Konvertierung-Konstruktor Initialisierungslisten Friend Funktionen 2 Statische Klassenkomponenten
MehrVorkurs Informatik WiSe 17/18
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017
MehrWintersemester 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
MehrAngewandte 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
MehrAlgorithmen & Programmierung. Ausdrücke & Operatoren (1)
Algorithmen & Programmierung Ausdrücke & Operatoren (1) Ausdrücke Was ist ein Ausdruck? Literal Variable Funktionsaufruf Ausdruck, der durch Anwendung eines einstelligen (unären) Operators auf einen Ausdruck
MehrInstitut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke
Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie
MehrLö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
MehrKlausur C++ #1 Jahr: 2001; Dozent: Dipl.Ing. Sorber
Klausur C++ #1 Jahr: 2001; Dozent: Dipl.Ing. Sorber 1) Welche Antworten zur Operatorüberladung sind richtig? (1) a) C++ - Operatoren können zusammen mit Objekten funktionieren b) C++ - Operatoren wird
MehrRepetitorium Programmieren I + II
Repetitorium Programmieren I + II Stephan Gimbel Johanna Mensik Michael Roth 6. März 2012 Agenda 1 Operatoren 2 Datentypen Gleitpunkt Zahl Typkonvertierung 3 Strommanipulatoren 4 Bedingungen if-else switch-case
MehrAuswahlen (Selektionen)
1 Anhang 10.3 Ein/Ausgaben Eingabe mit Prompt (Beispiel) cout ; // Prompt ohne endl cin
MehrC++ Teil 5. Sven Groß. 12. Nov IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 16
C++ Teil 5 Sven Groß IGPM, RWTH Aachen 12. Nov 2014 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 12. Nov 2014 1 / 16 Themen der letzten Vorlesung Eingabestrom, Verhalten von cin Namensräume Live Programming
Mehr4. 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
MehrCrashkurs C++ Wiederholung
Crashkurs C++ Wiederholung #include int main(void) { int i, j; bool is_prime; for (j = 1; j < 1000; j += 2) { is_prime = true; for (i = 3; i
MehrProgrammieren in C++ Überblick
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
MehrPVK Informatik I 1.Teil. Grundlagen Variablen Operatoren Fallunterscheidung Schleifen Kurzschreibweise Pointer Array Dynamische Strukturen Funktionen
PVK Informatik I 1.Teil Grundlagen Variablen Operatoren Fallunterscheidung Schleifen Kurzschreibweise Pointer Array Dynamische Strukturen Funktionen 1 Grundlagen #include #include using
MehrC++ 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
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,
MehrPods und Objects (Klassen)
Pods und Objects (Klassen) Grundbegriffe: Pods = Plain Old Data: Es handelt sich dabei hauptsächlich um die schon in C eingebauten Datentypen wie Ganzzahltypen: char, short, int, long, long long (auch
MehrProf. Dr. Markus Gross Informatik I für D-MAVT (FS 2014)
9. Klassen Prof. Dr. Markus Gross Informatik I für D-MAVT (FS 2014) Objektorientierte Programmierung, Klassen Members Objekte Konstruktoren und Destruktoren this-pointer Public und Private Sections Überladen
MehrWas Mathematiker schon vor Jahrhunderten erfunden haben, gibt es jetzt endlich in ihrer Programmiersprache:
Kapitel 8 Operatoren Was Mathematiker schon vor Jahrhunderten erfunden haben, gibt es jetzt endlich in ihrer Programmiersprache: Operatoren definieren Es ist in C++ möglich, Operatoren wie +, oder für
MehrAlgorithmen zur Datenanalyse in C++
Algorithmen zur Datenanalyse in C++ Hartmut Stadie 16.04.2012 Algorithmen zur Datenanalyse in C++ Hartmut Stadie 1/ 39 Einführung Datentypen Operatoren Anweisungssyntax Algorithmen zur Datenanalyse in
MehrTeil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen
Teil 5 - Java Programmstruktur Operatoren Schlüsselwörter Datentypen 1 Kommentare in Java In Java gibt es drei Möglichkeiten zur Kommentierung: // Kommentar Alle Zeichen nach dem // werden ignoriert. für
MehrThema 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:
MehrAusdrücke (1) Grundlegende Eigenschaften
Ausdrücke () Grundlegende Eigenschaften bestehen aus Literalen, Konstanten, Variablen und Operatoren einfachster Ausdruck ist das Semikolon, es bewirkt nichts. Ausdrücke werden mit einem Semikolon abgeschlossen.
MehrC++ - Einführung in die Programmiersprache Header-Dateien und Funktionen. Leibniz Universität IT Services Anja Aue
C++ - Einführung in die Programmiersprache Header-Dateien und Funktionen Leibniz Universität IT Services Anja Aue Modularisierung Logische Gliederung von Programmteilen mit Hilfe von Namensräumen. Aufteilung
MehrName: 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
Mehr7. Übung Informatik II - Objektorientierte Programmierung
7. Übung Informatik II - Objektorientierte Programmierung 29. Mai 2015 Inhalt 1 2 3 Übersicht 1 2 3 Idee Menschen nehmen die Welt in Form von Objekten wahr manche Objekte haben gleiche Eigenschaften, hierüber
Mehr5.3 Auswertung von Ausdrücken
5.3 Auswertung von Ausdrücken Funktionen in Java bekommen Parameter/Argumente als Input, und liefern als Output den Wert eines vorbestimmten Typs. Zum Beispiel könnte man eine Funktion i n t min ( i n
MehrKlassen. Kapitel Klassendeklaration
Kapitel 4 Klassen Wir kommen nun zu einem sehr wichtigen Aspekt der OOT: zu den Klassen. Eine Klasse ist eine vom Benutzer definierte Datenstruktur, eine Sammlung von Variablen (unterschiedlichen Typs)
Mehr5. 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
Mehr3. Objektorientierung Ergänzungen
3. Objektorientierung Ergänzungen 3.1 Strukturen Anstelle des Schlüsselwortes class kann auch das Wort struct verwendet werden. Unterschied zu class: Voreinstellung für die Elemente ist public (bei class
MehrVerwendung von Klassen in C++
Verwendung von Klassen in C++ Heute: Benutzerdefinierte Datentypen (Konkrete Klassen) Vektoren Komplexe Zahlen Adressdatei Morgen: Objektorientierte Programmierung (Abstrakte Klassen) Vererbung Polymorphie
MehrProgrammieren 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
Mehrfloat: Fließkommazahl nach IEEE 754 Standard mit 32 bit
Primitive Datentypen Fließkommazahlen float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Vorzeichen Exponent 8 bit Mantisse 23 bit double: Fließkommazahl nach IEEE 754 Standard mit 64 bit Vorzeichen
MehrStudiengang Maschinenbau und Verfahrenstechnik 1. Vordiplom, Informatik I Musterlösung
Dr. K. Simon Studiengang Maschinenbau und Verfahrenstechnik 1. Vordiplom, Informatik I Musterlösung Frühling 2001 Freitag, 9. März 2001 2 Aufgabe 1: Fehlermeldungen, Typen & Konstanten, Kontrollstrukturen
MehrPROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy
PROCESSING EINE ZUSAMMENFASSUNG Created by Michael Kirsch & Beat Rossmy INHALT 1. Typen und Operatoren 1. Datentypen 3. Klassen und Objekte 1. Klassen und Objekte 2. Operatoren 2. Konstruktor 3. Typkonversion
MehrProgrammieren 1 C Überblick
Programmieren C Überblick. Einleitung 2. Graphische Darstellung von Algorithmen 3. Syntax und Semantik 4. Einstieg in C: Einfache Sprachkonstrukte und allgemeiner Programmaufbau 5. Skalare Standarddatentypen
MehrInformatik III. Operatoren überladen am Beispiel des ADT Complex in C und Java sowie C++, C# und Groovy. Prof. Dr. Nikolaus Wulff
Informatik III Operatoren überladen am Beispiel des ADT Complex in C und Java sowie C++, C# und Groovy Prof. Dr. Nikolaus Wulff Komplexe Zahlen Komplexe Zahlen sind ein grundlegender Datentyp für mathematische
MehrSimpleStat 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.
MehrAbend 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
MehrVorkurs Informatik WiSe 16/17
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016
MehrInformatik 1 MaVt FS Übung 10
Informatik 1 MaVt FS 2010 Übung 10 Claudia Kuster ckuster@inf.ethz.ch Mittwoch 13-15h HG E 27 http://graphics.ethz.ch/~ckuster/teaching/mavt_info1_2010.html Vorlesung Objektorientierte Programmierung Konstruktoren
MehrProf. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Was sind Operatoren Ein Operator ist eine in die Programmiersprache eingebaute Funktion, die
MehrC-Programmierung: Ausdrücke und Operatoren#Division.2F
C-Programmierung: Ausdrücke und Operatoren#Division.2F http://de.wikibooks.org/wiki/c-programmierung:_ausdrücke_und_operatoren#division_.2f This Book Is Generated By Wb2PDF using RenderX XEP, XML to PDF
MehrPolymorphismus 179. Function.h. #include <string>
Polymorphismus 179 #include Function.h class Function { public: virtual ~Function() {}; virtual std::string get_name() const = 0; virtual double execute(double x) const = 0; }; // class Function
MehrÜbung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
MehrDr. Monika Meiler. Inhalt
Inhalt 3 C-Ausdrücke...3-2 3.1 Arithmetische Ausdrücke...3-3 3.2 Wertzuweisungen...3-5 3.3 Inkrementieren und Dekrementieren...3-6 3.4 Logische Ausdrücke (Bedingungen)...3-7 3.5 Bedingte Ausdrücke...3-8
MehrÜbersicht. Bisherige Verwendung von Klassen Vererbung. Zeiger auf Objekte (abgeleiteter) Klassen Virtuelle Funktionen Konstruktoren/Destruktoren
C++ - Vererbung Übersicht Bisherige Verwendung von Klassen Vererbung Grundlagen Zugriffschutz Vererbte Funktionen Zeiger auf Objekte (abgeleiteter) Klassen Virtuelle Funktionen Konstruktoren/Destruktoren
MehrEinheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen
Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen Kurs C/C++ Programmierung, WS 2008/2009 Dipl.Inform. R. Spurk Arbeitsgruppe Programmierung FR 6.2 Informatik
MehrÜbung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
MehrProgrammierkurs. Steffen Müthing. January 25, Interdisciplinary Center for Scientific Computing, Heidelberg University
Programmierkurs Steffen Müthing Interdisciplinary Center for Scientific Computing, Heidelberg University January 25, 2019 Inhalt Operator Overloading Motivation Syntax Unterstützung für I/O Funktoren Beispiel
MehrC++ Teil 7. Sven Groß. 3. Juni Sven Groß (IGPM, RWTH Aachen) C++ Teil 7 3. Juni / 16
C++ Teil 7 Sven Groß 3. Juni 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 7 3. Juni 2016 1 / 16 Themen der letzten Vorlesung dynamische Speicherverwaltung (Wdh.) Cast bei Zeigern STL-Vektoren + Live Programming
MehrVorlesung 6: Operatoren, Logische Ausdrücke
Vorlesung 6: Operatoren, Logische Ausdrücke Inhalt Organisatorisches Offene Übungen Operatoren Logische Ausdrücke Dr. J. Raimann 1 Offene Übungen (durch Tutoren betreut) montags 1. und 2. Block (8.15 Uhr
MehrAbstrakte Datentypen. Daten und Operationen Mögliche Implementierungen Veränderbare Typen, Ergebnistypen
Abstrakte Datentypen Daten und Operationen Mögliche Implementierungen Veränderbare Typen, Ergebnistypen Einheit von Daten und Operationen Daten und Operationen auf Daten gehören zusammen Konto: Daten:
MehrLösungen Übung 5. Programmieren in C++ 1. Aufgabe. #include <iostream.h> #include <stdarg.h>
Lösungen Übung 5 1. Aufgabe #include int max(int anzarg, int a, int b,...) // Hilfsvariable für variable Parameter va_list argumente; va_start(argumente,b); // "b" letzter Parameter der Funktion,
MehrProgrammiertechnik. 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
MehrProjekt 3 Variablen und Operatoren
Projekt 3 Variablen und Operatoren Praktisch jedes Programm verarbeitet Daten. Um mit Daten programmieren zu können, muss es Möglichkeiten geben, die Daten in einem Programm zu verwalten und zu manipulieren.
MehrInformatik I (D-ITET)
Informatik I (D-ITET) Übungsstunde 2, 5.10.2009 ETH Zürich? Übungsgruppenwechsel? Abgabe der Übungen... Bis Mo, 24:00 Theorie: Programme: per mail oder auf Papier.cpp Datei per mail Bin euch noch Demos
MehrOperatoren in C/C++ und Java:
Operatoren in C/C++ und Java: C/C++/Java hat eine riesige Anzahl von Operatoren (im Vergleich zu anderen Programmiersprachen). Außer den üblichen arithmetischen Operatoren +, -, *, / (und % für Ganzzahlen)
MehrHSR Rapperswil 2001 Markus Rigling. Programmieren: Templates Auflage
HSR Rapperswil 2001 Markus Rigling Programmieren: Templates 1 1. Auflage Inhaltsverzeichnis: Templates.1 1. Verwendung 3 2. Erstellen einer Templateklasse. 3 3. Faustregel zum Erstellen eines Klassentemplates..
MehrMapra: C++ Teil 6. Felix Gruber, Sven Groß. IGPM, RWTH Aachen. 13. Juni 2017
Mapra: C++ Teil 6 Felix Gruber, Sven Groß IGPM, RWTH Aachen 13. Juni 2017 Felix Gruber, Sven Groß (IGPM, RWTH Aachen) Mapra: C++ Teil 6 13. Juni 2017 1 / 22 Was bisher geschah Klassen I Attribute und Methoden
Mehr3. Operatoren und Ausdrücke
3. Operatoren und Ausdrücke Ausdruck (expression) Verarbeitungsvorschrift zur Ermittlung eines Wertes besteht aus Operanden und Operatoren wichtigste Ausdrücke: arithmetische und logische (boole'sche)
MehrObjektorientierte Programmierung mit C++ SS 2007
Objektorientierte Programmierung mit C++ SS 2007 Andreas F. Borchert Universität Ulm 5. Juni 2007 Polymorphismus #include Function.h class Function { public: virtual ~Function() {}; virtual std::string
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
Mehr7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter});
S. d. I.: Programieren in C Folie 7-1 7 Funktionen 7.1 Definition Prototyp-Syntax: Speicherklasse Typ Name (formale Parameter); der Funktions-Prototyp deklariert eine Funktion, d.h. er enthält noch nicht
MehrVariablen. CoMa-Übung VIII TU Berlin. CoMa-Übung VIII (TU Berlin) Variablen / 15
Variablen CoMa-Übung VIII TU Berlin 4.12.2013 CoMa-Übung VIII (TU Berlin) Variablen 4.12.2013 1 / 15 Themen der Übung 1 Typanpassungen 2 Operatoren 3 Variablen-Gültigkeit CoMa-Übung VIII (TU Berlin) Variablen
MehrImplementieren von Klassen
Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und
Mehr