Ich habe eine templated Interface-Klasse, mit ein paar implementierten Methoden und ein paar virtuellen.Verwenden von Direktive und partielle Spezialisierung
Ich muss es spezialisieren, um die Signatur einiger Methoden zu ändern, aber andere würden gleich bleiben.
Gibt es eine Möglichkeit, die Methoden, die gleich geblieben sind wieder aus der ursprünglichen Vorlage, entweder über using
Direktive, durch direkten Aufruf an sie zurück oder auf andere Weise, oder ich muss kopieren/fügen Sie jede einzelne Methode zurück in die Spezialisierung?
template <typename T>
struct X {
void faa(T t) const { std::cout << t << '\n'; }
void foo() const { std::cout << "foo\n"; }
};
template <>
struct X<void> {
void faa() const { std::cout << "none\n"; }
// Something along these lines
// using X<T>::foo;
// void foo() const { X<T>::foo(); }
};