不重载的类型和常量类型的一般函数可以使用函数模板来解决。函数模板是一种通用的函数定义,可以用于多种不同的类型。
下面是一个示例代码,演示了如何使用函数模板来定义一个不重载的类型和常量类型的一般函数:
#include
// 函数模板,用于实现不重载的类型和常量类型的一般函数
template
T add(T a, T b) {
return a + b;
}
int main() {
int x = 5, y = 3;
double z = 2.5, w = 1.5;
// 调用函数模板,传入整型参数
int result1 = add(x, y);
std::cout << "result1 = " << result1 << std::endl;
// 调用函数模板,传入浮点型参数
double result2 = add(z, w);
std::cout << "result2 = " << result2 << std::endl;
return 0;
}
在上面的代码中,我们定义了一个函数模板add
,它接受两个相同类型的参数,并返回它们的和。函数模板的参数类型被指定为typename T
,表示可以接受任意类型的参数。
在main
函数中,我们分别定义了两个整型变量x
和y
,以及两个浮点型变量z
和w
。然后,我们分别调用了add
函数模板,将整型参数和浮点型参数传递给它,并将结果输出到屏幕上。
运行上述代码,输出结果为:
result1 = 8
result2 = 4
可以看到,不重载的类型和常量类型的一般函数使用函数模板定义后,可以接受不同类型的参数,并正确计算它们的和。
下一篇:不重载运算符