2
나는 구현 된 몇 가지 메소드와 몇 개의 가상 메소드로 구성된 templatized 인터페이스 클래스를 가지고있다.지시어와 부분적 특성화 사용하기
일부 메서드의 서명을 수정하기 위해서는이 메서드를 특수화해야하지만 다른 메서드는 그대로 유지해야합니다.
using
지시어를 통해 원래의 템플릿에서 같은 방법으로 다시 가져 오는 방법을 직접 호출하거나 다른 방법으로 가져 오는 방법이 있습니까? 아니면 모든 단일 메서드를 다시 복사하여 붙여 넣기해야합니다. 전문화?
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(); }
};