Initialisierungslisten Uebung 1

Dependencies:   mbed

Revision:
2:32751b274adb
Parent:
1:5f898b1088f7
diff -r 5f898b1088f7 -r 32751b274adb init_1.cpp
--- 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);
+    }
 }
-