有人能给我一个带有4个函数原型的c ++函数重载的例子吗?我仍然没有让他们相当好..
抱歉新手问题,谢谢你的回复。
Adam Ramadhan
答案 0 :(得分:3)
以下是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
个参数。