Я пытаюсь изменить класс «calc», чтобы он был более универсальным, чтобы он также принимал удвоенные или плавающие числа.
class calc {
public:
int multiply(int x, int y);
int add(int x, int y);
};
int calc::multiply(int k1, int k2)
{
return k1 * k2;
}
int calc::add(int k1, int k2)
{
return k1 + k2;
}
Это моя реализация ниже, но у меня есть ошибка E0441: отсутствует список аргументов для шаблона класса "calc" (строка: calc c;).
template < class T>
class calc
{
public:
T multiply(T x, T y);
T add (T x, T y);
};
template < class T>
T calc<T>::multiply(T k1, T k2)
{
return k1 * k2;
}
template < class T>
T calc<T>::add(T k1, T k2)
{
return k1 + k2;
}
int main()
{
calc c;
std::cout << c.multiply(1, 5);
}
Какпреобразовать класс в шаблонный класс и функцию?