Aufruf eines Konstruktors der Basisklasse aus dem Konstruktorkörper einer Unterklasse
Ich hatte den Eindruck, dass es unmöglich ist, siehe zum Beispiel:Aufruf des Konstruktors der Basisklasse nach einigen anderen Anweisungen in C ++
Das folgende Programm wird jedoch ausgeführt und erzeugt zwei Zeilen "Constructor Person":
#include <iostream>
class Person
{
public:
Person()
{
std::cout << "Constructor Person" << std::endl; }
};
class Child : public Person
{
public:
Child()
{
c = 1;
Person();
}
int c;
};
int main()
{
Child child;
return 0;
}
Der erste ist der implizite Aufruf des Standardkonstruktors, das ist klar. Was ist mit der zweiten? Bedeutet dies, dass die im Titel beschriebene Aktion legitim ist? Ich benutze Visual C ++ 2010.