У меня есть шаблон класса:
template<typename T>
struct DefaultPattern {
using type = int;
static int CalculateValue(const T& input) {
return 0;
}
};
Для каждого типа T
у меня будет специализация. Проблема в том, что в классе специализации мне нужно определить все переменные-члены и методы, которые определены в DefaultPattern
, даже если возможно, что они имеют то же значение, что и значение в DefaultPattern
. Вот пример:
// A specialization for int.
template<>
struct DefaultPattern<int> {
// Same as DefaultPattern but I need to define it again.
using type = int;
static int CalculateValue(const int& input) {
return input + 2;
}
};
Есть ли способ, чтобы, когда я делаю специализацию, мне нужно было только определить
те члены, которые отличаются от DefaultPattern
?