【发布时间】:2023-03-07 12:37:01
【问题描述】:
我正在尝试将“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);
}
如何将类转换为模板类和函数?
【问题讨论】:
-
calc c;-->calc<int> c;?也许a good book on C++ 是为了?
标签: c++ templates math floating-point class-template