Ich habe die folgende Basisklasse
%Vor%und die folgende abgeleitete Klasse
%Vor%Ich möchte den Basisklassenkonstruktor verwenden, um ein Objekt wie dieses zu erstellen
%Vor%Ich habe gelesen, dass ich das using-Schlüsselwort verwenden kann, aber wenn ich versuche, es wie
zu verwenden %Vor%Der Compiler gibt eine Nachricht zurück
error: 'Grammateas :: Grammateas' benennt Konstruktor
Können Sie mir helfen, das Schlüsselwort using mit Konstruktoren zu verstehen?
Dein Code - mit using Grammateas::Grammateas;
unkommentiert - sollte funktionieren. (Aber Vorsicht: Der geerbte Konstruktor würde _hours
nicht initialisiert lassen.)
Erben von Konstruktoren durch using
-declarations ist eine neue Funktion in C ++ 11. Möglicherweise unterstützt Ihr Compiler diese Funktion noch nicht oder hat Probleme beim Kombinieren von geerbten Konstruktoren und anderen Überladungen. (Wenn es den Bezeichner final
akzeptiert, scheint es korrekt eingerichtet zu sein, um C ++ 11 überhaupt zu kompilieren.)