函数重载及带默认参数的函数
函数重载
函数重载(function overload),是函数的一种特殊情况,也是C++当中一种重要函数形式,其表现形式为,函数名相同,但是参数个数或参数顺序或参数类型不相同,其每个函数完成不同的功能。
条件:函数名相同,参数个数或参数顺序或参数类型不相同(三点可以同时具备)。
下面举个简单地例子
1 //函数重载 2 #include <iostream> 3 using namespace std; 4 5 void fun(int a,int b){ 6 cout<<a<<endl; 7 } 8 void fun(int a,int b,int c){ 9 cout<<c<<endl; 10 } 11 void fun(char a,char b){ 12 cout<<b<<endl; 13 } 14 15 void test(){ 16 fun(3,4); 17 fun(‘E‘,‘F‘); 18 fun(2,5,7); 19 } 20 int main(){ 21 test(); 22 return 0; 23 }
函数重载使程序更加细节,掌握函数重载会使你的程序更加精致及可观性
我们所说的参数分为两种,形参和实参,这里的带默认参数的函数中的参数实际上是实参。
形如:
1 void func(int a = 1,int b = 3,int c = 5){ 2 cout<<a+b+c<<endl; 3 }
1.调用函数 func() ,如果不指定实参值,则程序使用形参的值执行代码
1 void func(int a = 1,int c = 5){ 2 cout<<a+b+c<<endl; 3 } 4 int main(){ 5 func(); //输出1+3+5 6 func(2); //输出2+3+5 7 func(2,4); //输出2+4+5 8 func(4,7,8); //输出4+7+8 9 10 return 0; 11 }
2.若函数在声明当中指定了默认形参,则函数定义的形参可不比再设置默认参数,如下:
1 void func(int a = 1,int c = 5) 2 int main(){ 3 func(); //输出1+3+5 4 func(2); //输出2+3+5 5 func(2,4); //输出2+4+5 6 func(4,8); //输出4+7+8 7 8 return 0; 9 } 10 void func(int a,int c){ 11 cout<<a+b+c<<endl; 12 }
3.在设置默认形参的时候,应该遵循靠右原则,即应该从右往左设置形参,如下:
1 void func(int x = 1,int y); //错误 2 void func(int x = 1,int y = 2); //正确
通俗来讲,当形参表中某一个变量设置了默认值,则其右边的所有值都应该设置默认值
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。