函数重载
定义:C++规定在同一作用域中,当同名函数的形式参数(指参数的个数、类型或者顺序)不同时,构成函数重载。
用法:比如,要从两个变量中返回其中较大的值(max函数),可以编写如下两个构成重载的函数:
int max (int x, int y)
{
return x > y ? x : y;
}
double max (double x, double y)
{
return x > y ? x : y;
}
注意事项:
- 函数返回值类型与构成函数重载无任何关系。
- 类的静态成员函数可以与普通成员函数形成重载。
- 函数重载发生在同一作用域,如类的成员函数之间的重载、全局函数之间的重载。
函数隐藏
定义:函数隐藏指不同作用域中定义的同名函数(不要求函数返回值和函数形参列表相同)。比如派生类函数屏蔽与其同名的基类成员函数、类成员函数屏蔽同名的全局函数。
用法:示例代码如下:
#include <iostream>
using namespace std;
void func(char *s)
{
cout << "global function with name: " << a << endl;
}