码迷,mamicode.com
首页 > 其他好文 > 详细

22)函数重载

时间:2018-01-02 23:11:43      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:alt   fun   clu   col   类型   .com   div   图片   系统   

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)函数重载

标签:alt   fun   clu   col   类型   .com   div   图片   系统   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!