Ist es in C++ möglich, Variablenlisten an einen Basiskonstruktor zu übergeben?Variable Argumentliste an Basiskonstruktor in C++ übergeben
Ich könnte nur den Code des Basiskonstruktors in die abgeleitete Klasse kopieren, ein Handle der Variablen Argumentliste dort, aber das würde zu unerwünschten Code-Duplikation führen. Diese
ist, was ich versucht, so weit:
class A{
public:
A(const char * fmt,...){
va_list ap;
va_start(ap, fmt);
vprintf(fmt,ap);
va_end(ap);
};
};
class B: public A{
public:
B(const char * fmt,...):A(fmt){;};
};
int main(){
B("%d\n",42);
}
Aber der Konstruktor nicht die variablen Argumente an die Basisklassenkonstruktor.
Verwandte, haben Sie versucht, verwendet C++ variadische Vorlage Argumente statt Oldschool va_stuff? – WhozCraig
Für C-Ellipsen haben Sie eine Variante, 'va_list' zu übergeben, da' printf' das Gegenstück 'vprintf' ist. Für C++ verwenden Sie einfach variadic Vorlage. – Jarod42