FSST - Hardwarenahe Programmierung
Ü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; } };