Next: Destruktoren
Up: Klassen
Previous: Konstruktoren
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:
- Initialisiere mit Konstruktor geburtstag
dazu:
- Initialisiere die Datenelemente der Reihe nach
dazu:
- Gibt es einen Konstruktor-Aufruf für name?
Nein.
nimm Default-Konstruktor für char*. - Gibt es einen Konstruktor-Aufruf für geb?
Nein.
nimm Default-Konstruktor für date.
Den gibt es nicht
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:
- Initialisiere mit Konstruktor geburtstag
dazu:
- Initialisiere die Datenelemente der Reihe nach
dazu:
- Gibt es einen Konstruktor-Aufruf für name?
Ja.
führe name(n) aus. - Gibt es einen Konstruktor-Aufruf für geb?
Ja.
führe geb(d) aus.
dann: - Führe den Konstruktor geburtstag aus (Hier leer).
Next: Destruktoren
Up: Klassen
Previous: Konstruktoren
Peter Pfahler, 1997