Initialisierungslisten Uebung 1

Dependencies:   mbed

Files at this revision

API Documentation at this revision

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

init_1.cpp Show annotated file Show diff for this revision Revisions of this file
init_2.cpp Show annotated file Show diff for this revision Revisions of this file
init_3.cpp Show annotated file Show diff for this revision Revisions of this file
init_4.cpp Show annotated file Show diff for this revision Revisions of this file
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);
+    }
 }
-
diff -r 5f898b1088f7 -r 32751b274adb init_2.cpp
--- 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;}
diff -r 5f898b1088f7 -r 32751b274adb init_3.cpp
--- 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 
diff -r 5f898b1088f7 -r 32751b274adb init_4.cpp
--- 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: