Eine Member-Funktion mit demselben Name wie die Klasse selbst, ist ein Constructor.
1. Konstruktor ohne Funktionen———————————————–
class MidiData { . public: . int pin; . double version; . int wait; // in ms . MidiData(int pin, double version, int wait); //Construct . }
Ein Objekt der Klasse kann nicht ohne Wertzuweisung definiert werden, eine Initialisierung ist zwingend notwendig beim Bilden eines Objektes. Die Initialiserung kann über eine List ober über den Constructor erfolgen:
MidireadData system_1 = { 13, 14.04, 10} // list MidireadData system_2 { 8, 14.04, 5 } // constructor usually MidireadData system_2( 8, 14.04, 5 ) // constructor old style MidireadData system_3 = MidireadData{ 10, 14.04, 10 } //special
In der Initialisierung müssen alle Member-Variablen definiert werden.
Vgl. Bjarne Kapitel 9.4.2
2. Konstruktor für Klasse mit Funktionen ——————————-–
class Date{ . public: . // constructor . Date( int year, int month, int day); . // member-functions . void add_day( int n); . int month(); // check error of number . . private: . int year, month, day; };
Konstruktor mit Funktion:
Date::Date(int y_1,int m_1,int d_1) : month( month1) {}
…