我想做一个添加三个数字的模板函数。类型可以是 int 或 char 或 string。如何添加这些然后使用相同的类型返回正确的值。示例:三个数字字符串 {5,6,7} 应加起来为 18,然后将 18 作为字符串返回。数字 {5,6,7} 的三个字符加起来应为 18,然后将 18 作为字符返回。
template <class MyType>
MyType GetSum (MyType a, MyType b, MyType c) {
return (a+b+c);
}
int a = 5, b = 6, c = 7, d;
char e = '5', f = '6', g = '7', h;
string i= "5", j= "6", k= "7", l;
d=GetSum<int>(a,b,c);
cout << d << endl;
h=GetSum<char>(e,f,g);
cout << h << endl;
l=GetSum<string>(i,j,k);
cout << l << endl;
此代码适用于 int,但显然不适用于 char 或 string。我不知道如何从未知类型转换为 int 并返回,所以我可以添加数字。