(1)函数名相同
(2)函数参数的特征(形参的类型或个数)不同
配套例子讲解
带有默认参数的函数
C++在说明函数原型时,可为参数指定默认参数值,以后调用该函数时,若省略其中某一参数,C++自动的以默认值作为相应的函数参数的值。
eg:int area(int x = 5, int y = 10, int z = 0); area(3, 4, 5);(✓) area(25);(✓) //相当于area(25, 10, 0) area();(✓) //相当于area(5, 10, 0) area(, 4, 5)(×) //不允许某个参数省略后,再给后面的参数指定参数值
【注】:
int area(int x = 5, int y = 10, int z = 0);
①不能写 int area(int x, int y = 10, int z); ,定义默认值的参数 后面 不能有不取默认值的参数。所以,应该写: int area(int x, int z, int y = 10);;
②如果函数定义在前,就在定义中指定默认参数值,但如果声明在前,就在声明中指定默认参数值;
③当函数的重载带默认参数时,避免二义性(反过来,也能一定程度的简化程序(重载函数)的编写);
标题作用域运算符(::)
用来解决局部变量与全局变量重名的问题
局部变量可以在其作用域内屏蔽全局变量
可以用“::”对屏蔽的同名变量进行访问
#includeusing namespace std; int avar = 10; int main() { int avar = 20; cout<<::avar< 题外话:该符号还可以“代替”命名空间
强制类型转换①类C
double a = 3.14; int b = (double)a;②类似于函数调用格式(推荐)
double a = 3.14; int b = double(a);



