Programmieren in C++


home

zurück

vor

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");
}


home

zurück

vor