首页 > 其他 > 详细

22)函数重载

时间:2018-01-02 21:56:55      阅读:263      评论:0      收藏:0      [点我收藏+]

1)定义:函数重载:规则:

          (1)函数的名字一样

          (2)参数个数不同,参数的类型不同,参数的顺序不一样,均可以构成重载

          (3)返回值类型不同则不能构成重载

 

 1 #include<iostream>
 2 //如下面的两个函数,不是虫重载,而且有严重的错误,不可以这么写
 3 int fun(int a)
 4 {
 5     printf("dkas");
 6     return 2;
 7 }
 8 char fun(int a)
 9 {
10     printf("11111111");
11     return a;
12 }
13 int main()
14 {
15     fun(10,20);
16     printf("\n");
17     fun(10,a);
18 
19     return 0;
20 
21 
22 }

 

2)注意:如果要是函数重载的话,就不要默认参数,为了避免调用时出现函数冲突

3)函数重载涉及的函数调用规则:

        如果能严格匹配,就直接调用这个严格匹配的,

        如果没有完全匹配的,就调用隐式转换,

        如果还是匹配不到,则调用失败。

4)  

      技术分享图片

 

5)C++重载的底层实现 

      技术分享图片

  其实就是,在我们的编译器的  表格里面,函数的名字虽然我们看上去是一样的,但是实际上在表格中存的是不一样的。

 

5)要想函数重载,就别带有默认参数,要想带默认参数,就别函数重载

     (因为,当你少写一个参数时,系统不知道,你是函数重载,还是嗲用带有默认参数的函数)

 

22)函数重载

原文:https://www.cnblogs.com/xiaoyoucai/p/8179231.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!