Konstruktor
Die lokalen Variablen von Funktionen können direkt bei einer Definition mit
einem Startwert versehen werden ==> Initialisierung
Bsp.: void main(){
int i=0;
int werte[3]={5,8,20};
Objekteigenschaften können auf diese weise NICHT initialisiert werden!
Eine mögliche Lösung dieses Problems wäre eine Memberfunktion
(z.B. init( )) zur Initialisierung der Eigenschaften.
Nachteil: Diese Memberfunktion müßte bei Bedarf manuell aufgerufen werden
==> potentielle Fehlerquelle
Ein Kostruktor ist eine Memberfunktion von Objekten die beim Anlegen von Objekten
automatisch durch das System aufgerufen wird. Besonderheiten der "Memberfunktion".
Konstruktor:
Er hat keinen Datentyp (Rückgabedatentyp) nicht einmal "void"!
Muss im Public teil stehen
Name der Funktion = Klassenbezeichnung!
Beispiel:
class Datum{
int tag;
int monat;
int jahr;
public:
Datum(){
// Initialisierung!!!
tag=0;
monat=0;
jahr=0;
}
};
Person ( ) {
nname[0]=0x00;
strcpy(nname,"Noname");
}
|