Das Schlüsselwort "Using" zum Aufrufen des Basisklassenkonstruktors

8

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?

    
Avraam Mavridis 08.02.2013, 12:21
quelle

1 Antwort

9

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.)

    
JoergB 08.02.2013, 12:43
quelle

Tags und Links