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) {}
…