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.
Dependencies: mbed
You are viewing an older revision! See the latest version
Konstruktor
Konstruktoren und Destruktoren sind spezielle Methoden einer Klasse und haben den gleichen Namen wie die Klasse. Die Aufgabe von Konstruktoren ist, Objekte in einen definierten Anfangszustand zu bringen und so benötigte Ressourcen zu reservieren, sofern sie zum Zeitpunkt der Objekterstellung bereits bekannt sind. Wir kein Konstruktor angegeben, so wird ein Standard Konstruktor vom System ausgeführt. Da der Konstruktor außerhalb der Klasse aufgerufen wird muss dieser public sein. Konstruktoren können auch mit Parametern versehen werden, sodass bei der Erzeugung des Objektes aktuelle Werte für die Initiallisierung der Instanzevariablen übergeben werden können. Dies ist über den Zuweisungsoperator (=) im Anweisungsteil des Konstruktors oder über Initialisierungslisten möglich, was eine wesentliche Vereinfachung ist.
class Date { private: uint8_t day, month, year; uint8_t bcdToUint(uint8_t const nybbles); public: Date():day(1), month(1), year(00) // Konstante Parameterwerte {} // Initialisierung über parametrisierten Konstruktor Date(uint8_t _day, uint8_t _month, uint8_t _year):day(_day), month(_month), year(_year) { // entspircht: day = _day; .... } uint8_t GetDay(); };
Nach dem Konstruktor und ev. der Parameterliste kommt durch einen Doppelpunkt getrennt der Name einer Instanzvariablen (day), die mit einem Wert initialisiert werden soll. In runden Klammern eingeschlossen der Parametername aus der Parameterliste (_day), mit dessen Wert diese initialisiert werden soll. Durch Komma getrennt können weiter Instanzvariable initialisiert werden.
int main() { Date date1; Date date2(18,4,15); }
Konstruktor und Initialisierungslisten für Klasse Date