Konstruktorverkettung in C ++

Mein Verständnis von Konstruktor-Verkettung ist, dass , wenn es mehr als eine Konstruktoren in einer Klasse (überladen von Konstruktoren) , wenn einer von Ihnen versucht, rufen Sie einen anderen Konstruktor,dann
dieser Vorgang wird als KONSTRUKTOR-VERKETTUNG , die nicht unterstützt in C++ .
Vor kurzem stieß ich auf dieses paragraph während das Lesen von online-material.... Es geht so ...

Finden Sie sich selbst in der situation, wo Sie möchten, schreiben Sie eine Mitglied-Funktion zum re-initialisieren einer Klasse wieder auf die default Werte. Weil Sie wahrscheinlich schon haben Sie einen Konstruktor, der dies tut, können Sie versucht sein, rufen Sie den Konstruktor von Ihrem member-Funktion. Wie bereits erwähnt, ist die Verkettung Konstruktor-Aufrufe sind illegal in C++. Sie konnte kopieren Sie den code aus dem Konstruktor in Ihrer Funktion, die würde der Arbeit, führen aber zu doppelten code. Die beste Lösung in diesem Fall ist, verschieben Sie den code aus dem Konstruktor Ihre neue Funktion, die den Konstruktor die Funktion aufrufen, um die Arbeit der Initialisierung der Daten.

Übernimmt ein Mitglied die Funktion, den Aufruf der Konstruktor auch unter constructor chaining ??
Bitte werfen etwas Licht auf dieses Thema in C++ .

InformationsquelleAutor der Frage jsp99 | 2011-09-08

Schreibe einen Kommentar