Вывести параметр шаблона на основе функции для переопределения базового классаC++

Программы на C++. Форум разработчиков
Anonymous
Вывести параметр шаблона на основе функции для переопределения базового класса

Сообщение Anonymous »

Давайте начнем с кода.
class intClass {
public:
virtual ~intClass() = default;

virtual int sum(int a, int b) const = 0;
};

class doubleClass {
public:
virtual ~doubleClass() = default;

virtual double sum(double a, double b) const = 0;
};

template
class sumClass : public C {
public:
T sum(T a, T b) const override {
return a + b;
}
};

int main() {
sumClass intSum;
sumClass doubleSum;
return 0;
}

Предположим, что intClass и doubleClass указаны как есть и не могут быть изменены.
Я бы хотел удалить параметр шаблона T из sumClass.
Можно ли вывести T на основе сигнатуры функции sum в базовом классе?
/>Мы можем использовать C++20.
В целом я хочу, чтобы моя основная функция выглядела так:
int main() {
sumClass intSum;
sumClass doubleSum;
return 0;
}


Подробнее здесь: https://stackoverflow.com/questions/784 ... base-class

Вернуться в «C++»