以下是 C++ 函数声明,通常位于头文件(.h 或 .hpp)中。这些特定的声明没有代码。代码在下面进一步显示的定义中。
int sum(int a, int b);
int sum(int a, int b, int c);
int sum(int a, int b, int c, int d);
int sum(int a, int b, int c, int d, int e);
以上四个函数名称相同,但C++编译器会调用参数签名与调用代码中的那个匹配的那个。声明的目的是告诉编译器函数的返回类型和参数签名是什么。如果多个函数具有相同的名称但参数签名不同,则称为重载。这是 C++ 中不存在的 C++ 特性。请注意,返回类型不能用于区分重载函数。
以下是重载函数的定义(实现),通常位于模块(.cpp 或 .cc 或 .cxx)文件中。这是可执行代码位于功能块周围的大括号 { } 之间的位置:
int sum(int a, int b)
{
return (a + b);
}
int sum(int a, int b, int c)
{
return (a + b + c);
}
int sum(int a, int b, int c, int d)
{
return (a + b + c + d);
}
int sum(int a, int b, int c, int d, int e)
{
return (a + b + c + d + e);
}
使用示例:
std::cout << sum(3, 4, 5) << std::endl;
将为上面列出的第二个重载函数调用代码,该函数采用三个int 参数。