next up previous contents index
Next: Destruktoren Up: Klassen Previous: Konstruktoren

Initialisierung tex2html_wrap_inline5173 tex2html_wrap_inline5177 Wertzuweisung

    Beispiel:

    class date
    {   int day, month,year;
      public:
        date(int d, int m, int y)
        : day(d), month(m), year(y) {}
    };
    
    class geburtstag
    {   char *name;
        date geb;
       public:
        geburtstag(char *n, date d)
        { name = n;
          geb = d;
        }
    };
    
    int main(void)
    {  geburtstag ich("Peter",date(1,4,1971));
    } /* main */

Ablauf der Konstruktion von Objekt ich:    

  1. Initialisiere mit Konstruktor geburtstag
    dazu:
    1. Initialisiere die Datenelemente der Reihe nach
      dazu:
      1. Gibt es einen Konstruktor-Aufruf für name?
        Nein. tex2html_wrap_inline5173 nimm Default-Konstruktor für char*.
      2. Gibt es einen Konstruktor-Aufruf für geb?
        Nein. tex2html_wrap_inline5173 nimm Default-Konstruktor für date.
        Den gibt es nicht tex2html_wrap_inline5173 FEHLER!

Die Klasse geburtstag sollte besser so aussehen:

    class geburtstag
    {   char *name;
        date geb;
      public:
        geburtstag(char *n, date d) 
        : name(n), geb(d) { }
    };

Ablauf der Konstruktion von Objekt ich:    

  1. Initialisiere mit Konstruktor geburtstag
    dazu:
    1. Initialisiere die Datenelemente der Reihe nach
      dazu:
      1. Gibt es einen Konstruktor-Aufruf für name?
        Ja. tex2html_wrap_inline5173 führe name(n) aus.
      2. Gibt es einen Konstruktor-Aufruf für geb?
        Ja. tex2html_wrap_inline5173 führe geb(d) aus.
      dann:
    2. Führe den Konstruktor geburtstag aus (Hier leer).


next up previous contents index
Next: Destruktoren Up: Klassen Previous: Konstruktoren

Peter Pfahler, 1997