Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Übungen Initialisierungslisten
Weiter führende Programmierübungen für Überladen von Methoden und Konstruktor.
Initialisieren Sie in der folgenden Klasse mittel Initialisierungsliste den _messwert mit 0:
class MyClass{ public: MyClass() { } private: double _messwert; };
Lösung
class MyClass{ public: MyClass() : _messwert(0) { _messwert = 1; // Wertzuweisung im Konstruktor-Body } private: double _messwert; };
Initialisieren Sie in der folgenden Klasse mittel Initialisierungsliste die Membervariablen _x und _wahr:
class MyClassA { public: MyClassA(int x, bool wahr) {} int getx(void) {return _x;} private: int _x; bool _wahr;};
Initialisieren - Erzeugen Sie in der folgenden Klasse mittel Initialisierungsliste das I2C-Objekt mit p28, p27:
class MyClassB { public: MyClassB(PinName sda, PinName scl); // I2C Pins übergeben p28, p27 float read(); private: I2C i2c; }; MyClassB sensor(p28, p27);
Initialisieren Sie in der folgenden Klasse mittel Initialisierungsliste die notwendigen Memebervariablen, Konstanten und Referenzen:
class MyClassC { private: const int a; // Zuweisung von Konstanten und Referenzen ist nur in der int& b; // Initialisierungsliste, nicht im Konstruktorrumpf zulässig. int c; int d; public: MyClassC(int& refB) : ??? { c = 20; // Dies ist eine Zuweisung, KEINE Initialisierung } static int foo() { return 10; } };