class MyDerived: public Incredble<Difficult< And<Complicated, Long>>, And<Even, Longer>, BaseClass, Name>
{
public:
MyDerived();
}
MyDerived::MyDerived
: ???(params)
{}
Gibt es eine Möglichkeit, einen Basiskonstruktor aufzurufen, ohne seinen vollständigen Namen zu schreiben und ohne typedefing?Call-Base-Klassenkonstruktor ohne Benennung der Klasse
Der Grund ist eindeutig, Code-Duplizierung zu vermeiden und mehrere Positionen zu ändern, wenn sich ein Detail in den Basisklassen-Template-Parametern ändert.
Stufe 2 dafür:
template <uint32 C>
class MyDerived: public Incredble<Difficult< And<Complicated, Long>>, And<Even, Longer>, BaseClass, Name>
{
public:
MyDerived();
}
template <uint32 C>
MyDerived::MyDerived<C>
: ???(C)
{
}
Was mit 'using' oder' typedef' falsch? – max66
es verschmutzt den umschließenden Namespace –
abhängig von Ihrem Konstruktor können Sie 'using' und Konstruktor Delegation (die Namespace nicht verschmutzt) verwenden. Hängt davon ab, wenn Sie Probleme mit Parametern oder Vorlagen haben. – Hayt