• 22)函数重载


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

              (1)他们的作用域必须是一样的

              (2)函数的名字一样

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

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

     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("
    ");
    17     fun(10,'a');
    18 
    19     return 0;
    20 
    21 
    22 }

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

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

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

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

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

    4)  

          

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

          

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

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

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

  • 相关阅读:
    Python 魔法方法
    使用PHP7来批量更新MangoDB数据
    git 小乌龟安装教程
    webpack初学者(1)
    移动端与PC端的触屏事件
    解决onclick事件的300ms延时问题
    尺寸单位em,rem,vh,vw
    ngRoute 与ui.router区别
    angular.js的依赖注入解析
    ionic的基础学习(第一篇)
  • 原文地址:https://www.cnblogs.com/xiaoyoucai/p/8179231.html
Copyright © 2020-2023  润新知