KLASSEN - USING

Dependencies:   mbed

Committer:
Powers
Date:
Thu Jan 31 21:24:52 2019 +0000
Revision:
1:37cb0f4b9bef
Parent:
0:6c14b00c7263
Ausbesserungen

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Powers 0:6c14b00c7263 1 #include "mbed.h"
Powers 0:6c14b00c7263 2
Powers 0:6c14b00c7263 3 // Uebung zu USING - Ausgabe per SERIAL
Powers 0:6c14b00c7263 4 // Wichtig Kommentare im CODE
Powers 0:6c14b00c7263 5
Powers 0:6c14b00c7263 6
Powers 0:6c14b00c7263 7 class A
Powers 0:6c14b00c7263 8 {
Powers 0:6c14b00c7263 9 public:
Powers 0:6c14b00c7263 10 A() {}
Powers 0:6c14b00c7263 11 // Methode Print wird erstellt
Powers 0:6c14b00c7263 12 void Print(char *r)
Powers 0:6c14b00c7263 13 {
Powers 0:6c14b00c7263 14 printf("Klasse-A - %s \n", r);
Powers 0:6c14b00c7263 15 }
Powers 0:6c14b00c7263 16
Powers 0:6c14b00c7263 17 // Methode Print wird überladen
Powers 0:6c14b00c7263 18 void Print(int anzahlt, char *r)
Powers 0:6c14b00c7263 19 {
Powers 0:6c14b00c7263 20 printf("Klasse-A - %s - %i \n", r, anzahlt);
Powers 0:6c14b00c7263 21 }
Powers 0:6c14b00c7263 22 };
Powers 0:6c14b00c7263 23
Powers 0:6c14b00c7263 24 class B : public A // Klasse A wird auf Klasse B vererbt
Powers 0:6c14b00c7263 25 {
Powers 0:6c14b00c7263 26 public:
Powers 0:6c14b00c7263 27 B() {}
Powers 0:6c14b00c7263 28 // Print wird überschrieben und sperrt somit auch alle anderen überladenen
Powers 0:6c14b00c7263 29 // Methoden der Basisklasse
Powers 0:6c14b00c7263 30 void Print(char *nr)
Powers 0:6c14b00c7263 31 {
Powers 0:6c14b00c7263 32 printf("Klasse-B - %s \n", nr);
Powers 0:6c14b00c7263 33 }
Powers 0:6c14b00c7263 34 // mit using werden die gesperrten Methoden der Basisklasse wieder sichtbar
Powers 0:6c14b00c7263 35 // Es kann nun die Überschriebene Methode der Vererbten Klasse gestartet werden
Powers 0:6c14b00c7263 36 // und zusätzlich die parametrisierbaren Methoden der Basisklasse
Powers 0:6c14b00c7263 37 using A::Print;
Powers 0:6c14b00c7263 38
Powers 0:6c14b00c7263 39 };
Powers 0:6c14b00c7263 40
Powers 0:6c14b00c7263 41
Powers 0:6c14b00c7263 42 int main()
Powers 0:6c14b00c7263 43 {
Powers 0:6c14b00c7263 44 A a; // Objekte zur Klasse erstellen
Powers 0:6c14b00c7263 45 B b;
Powers 0:6c14b00c7263 46
Powers 0:6c14b00c7263 47 a.Print("a"); // Klasse A - ursprüngliche Methode
Powers 0:6c14b00c7263 48 a.Print(7, "a"); // Klasse A - überladene Methode
Powers 0:6c14b00c7263 49 b.Print("b"); // Klasse B - von Klasse A Überschriebene Methode
Powers 0:6c14b00c7263 50 b.Print(9, "b"); // Klasse A - durch using wird die urpsrüngliche überladene Methode
Powers 1:37cb0f4b9bef 51 // von Klasse A verwendet
Powers 0:6c14b00c7263 52 return 0;
Powers 0:6c14b00c7263 53 }