本文讲解了C++函数的各种用法,如函数的默认参数、占位参数、函数重载等。
1 函数默认参数
在C++中,函数的形参列表中的参数是可以有默认值大的
语法:返回值类型 函数名 (参数= 默认值){ }
示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 #include <iostream> using namespace std ;int func (int a, int b=50 , int c=70 ) { return a + b + c; } int func2 (int a, int b) ;int func2 (int a=20 , int b=20 ) { return a + b; } int main () { cout <<func2(10 , 10 )<<endl ; system("pause" ); return 0 ; }
2 函数占位参数
C++中函数的形参列表里可以有占位参数,用来做占位,调用函数时必须填补该位置
语法:返回值类型 函数名 (函数类型){}
在现阶段函数的占位参数存在意义不大,但是以后可能会用到该技术
示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 void func (int a,int ) { cout << "this is func" << endl ; } void func1 (int a, int = 10 ) { cout << "this is func1" << endl ; } int main () { func(10 ,10 ); func1(10 ); system("pause" ); return 0 ; }
3 函数重载
3.1 函数重载概述
作用 :函数名可以相同,提高复用性
函数重载满足条件:
同一作用域下
函数名称相同
函数参数类型不同 或者 个数不同 或者 顺序不同
注意 :函数的返回值不可以作为函数重载的条件
示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 void func () { cout << "func 调用" << endl ; } void func (int a) { cout << "func(int a) 调用" << endl ; } void func (double a) { cout << "func(double a) 调用" << endl ; } void func (int a,double b) { cout << "func(int a,double b) 调用" << endl ; } void func (double a, int b ) { cout << "func(double a, int b ) 调用" << endl ; } int main () { func(10.0 , 1 ); system("pause" ); return 0 ; }
3.2 函数重载注意事项
示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 void func (int &a) { cout << "fun(int &a) 调用" << endl ; } void func (const int &a) { cout << "fun(const int &a) 调用" << endl ; } void func2 (int a,int b=10 ) { cout << "func2(int a,int b)的调用" << endl ; } void func2 (int a) { cout << "func2(int a)的调用" << endl ; } int main () { func2(10 ); system("pause" ); return 0 ; }