重载的函数可以有相同的定义。
例如
:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// overloaded functions
#include <iostream>
using namespace std;
int sum (int a, int b)
{
return a+b;
}
double sum (double a, double b)
{
return a+b;
}
int main ()
{
cout << sum (10,20) << '\n';
cout << sum (1.0,1.5) << '\n';
return 0;
}
在这里,和超负荷的不同的参数类型,但具有相同的身体。
sum函数可以被重载了很多类型,它可以使所有的人都有同样的身体。在这样的情况下,C + +和泛型类型定义功能的能力,称为函数模板。定义函数模板遵循相同的语法比普通的功能,但它在模板的关键字和一系列的模板参数括在尖括号<>:
模板模板参数>函数声明
模板参数是以逗号分隔的一系列参数。这些参数可以通用的模板类型通过指定的类或typename关键字后面的一个标识符。该标识符可以被用来在函数的声明,如果它是一个规则类型。例如,一个通用的函数可以被定义为: