Andreas Brunnhofer
/
init_1
Initialisierungslisten Uebung 1
Revision 2:32751b274adb, committed 2020-10-13
- Comitter:
- Mr_Anderssson
- Date:
- Tue Oct 13 16:47:22 2020 +0000
- Parent:
- 1:5f898b1088f7
- Commit message:
- neue Uebung fuer Ueberladen von Methoden hinzugefuegt
Changed in this revision
--- a/init_1.cpp Tue Oct 06 17:24:53 2020 +0000 +++ b/init_1.cpp Tue Oct 13 16:47:22 2020 +0000 @@ -1,28 +1,67 @@ - +//1. Initialisierungslisten //Initialisieren Sie in der folgenden Klasse mittel Initialisierungsliste //den _messwert mit 0: +//2. Überladen +//Schreiben Sie in jeder Klasse zumindest eine Methode mit dem Namen +//printWert(...), die den Wert einer Memebervariablen auf die serielle +//Schnittstelle ausgibt. Überladen Sie diese Methode um weitere Dummy-Werte, +//die ausgegeben werden sollen. Weiters soll diese Methode überladenen werden +//um eine Variable (Anzahl der ausgegebenen Werte) in einem Parameter (call by +//reference) an das rufende Programm (main) zurück gegeben. +//Schreiben Sie in jeder Klasse den fehlenden Konstruktor bzw. überladen Sie die +//Konstruktoren mit weiteren Dummy-Variable. + #include "mbed.h" class MyClass { public: - MyClass(double messwert) : _messwert(messwert) { } - MyClass( ) : _messwert(0.0) { } - - void status() - { - printf("%f\n", _messwert); + MyClass() : _messwert(0) + { + _messwert = 1; } + MyClass(double messwert) : _messwert(messwert){} + void printWert() + { + printf("%f\n", _messwert); + } + void printWert(int izahl) + { + printf("Messwert: %f izahl; %d\n", _messwert, izahl); + } + void printWert(float fzahl) + { + printf("Messwert: %f fzahl; %f\n", _messwert, fzahl); + } + void printWert(int izahl, int anz) + { + anz=20; + printf("Messwert: %f izahl: %d Anzahl: %d\n", _messwert, izahl, anz); + } private: double _messwert; }; -MyClass myClass(0.0); +MyClass m1; +MyClass m2(5.0); int main() { -myClass.status(); -wait_ms(100); + int anzahl=0; + while(1) + { + m1.printWert(); + wait_ms(200); + m2.printWert(); + wait_ms(200); + m2.printWert(144); + wait_ms(200); + m2.printWert(144, anzahl); + wait_ms(200); + m2.printWert(anzahl); + wait_ms(200); + m2.printWert(10.0f); + wait_ms(200); + } } -
--- a/init_2.cpp Tue Oct 06 17:24:53 2020 +0000 +++ b/init_2.cpp Tue Oct 13 16:47:22 2020 +0000 @@ -2,10 +2,20 @@ //Initialisieren Sie in der folgenden Klasse mittel Initialisierungsliste //die Membervariablen _x und _wahr: +//2. Überladen +//Schreiben Sie in jeder Klasse zumindest eine Methode mit dem Namen +//printWert(...), die den Wert einer Memebervariablen auf die serielle +//Schnittstelle ausgibt. Überladen Sie diese Methode um weitere Dummy-Werte, +//die ausgegeben werden sollen. Weiters soll diese Methode überladenen werden +//um eine Variable (Anzahl der ausgegebenen Werte) in einem Parameter (call by +//reference) an das rufende Programm (main) zurück gegeben. +//Schreiben Sie in jeder Klasse den fehlenden Konstruktor bzw. überladen Sie die +//Konstruktoren mit weiteren Dummy-Variable. + #include "mbed.h" -class MyClassA { - +class MyClassA +{ public: MyClassA(int x, bool wahr) {} int getx(void) {return _x;}
--- a/init_3.cpp Tue Oct 06 17:24:53 2020 +0000 +++ b/init_3.cpp Tue Oct 13 16:47:22 2020 +0000 @@ -2,6 +2,16 @@ //Initialisieren - Erzeugen Sie in der folgenden Klasse mittel //Initialisierungsliste das I2C-Objekt mit p28, p27: +//2. Überladen +//Schreiben Sie in jeder Klasse zumindest eine Methode mit dem Namen +//printWert(...), die den Wert einer Memebervariablen auf die serielle +//Schnittstelle ausgibt. Überladen Sie diese Methode um weitere Dummy-Werte, +//die ausgegeben werden sollen. Weiters soll diese Methode überladenen werden +//um eine Variable (Anzahl der ausgegebenen Werte) in einem Parameter (call by +//reference) an das rufende Programm (main) zurück gegeben. +//Schreiben Sie in jeder Klasse den fehlenden Konstruktor bzw. überladen Sie die +//Konstruktoren mit weiteren Dummy-Variable. + #include "mbed.h" class MyClassB
--- a/init_4.cpp Tue Oct 06 17:24:53 2020 +0000 +++ b/init_4.cpp Tue Oct 13 16:47:22 2020 +0000 @@ -2,6 +2,16 @@ //Initialisieren Sie in der folgenden Klasse mittel Initialisierungsliste //die notwendigen Memebervariablen, Konstanten und Referenzen: +//2. Überladen +//Schreiben Sie in jeder Klasse zumindest eine Methode mit dem Namen +//printWert(...), die den Wert einer Memebervariablen auf die serielle +//Schnittstelle ausgibt. Überladen Sie diese Methode um weitere Dummy-Werte, +//die ausgegeben werden sollen. Weiters soll diese Methode überladenen werden +//um eine Variable (Anzahl der ausgegebenen Werte) in einem Parameter (call by +//reference) an das rufende Programm (main) zurück gegeben. +//Schreiben Sie in jeder Klasse den fehlenden Konstruktor bzw. überladen Sie die +//Konstruktoren mit weiteren Dummy-Variable. + class MyClassC { private: