Ich versuche, eine Basisklasse Mitglied Element über eine abgeleitete Klasse zu initialisieren. Das Problem, das ich habe, ist, dass der Wert, den ich überlasse, von "x" abhängt. also hier ist, was ich tue.?Wie initiiere ich einen Basiskonstruktor in geschweiften Klammern des abgeleiteten Konstruktors? C++
Derived:: Derived()
{
uint8 number = getNumber();
P p;
if (number == 3)
{
p = P1;
}
else
{
p = P2;
}
Base(p);
}
ich den Fehler „kein Standard-Konstruktor für Klasse vorhanden ist‚Base‘bekommen Was mache ich falsch
Haben Sie die Konstruktor Basis definieren :: Base (P p) in der Basisklasse – HJuls2
@ HJuls2 - Es ist definiert, aber es gibt kein 'Base()', wie t Der Fehler zeigt an. 'Base (p);' ist kein Call. Es definiert ein Objekt mit dem Namen "p" vom Typ "Base" und versucht, es standardmäßig zu konstruieren. – StoryTeller
Base (p) ist der Aufruf des Konstruktors. Base :: Base (Pp); –