首页 > 其他分享 >函数重载

函数重载

时间:2024-04-17 23:22:25浏览次数:27  
标签:compare 函数 int bool 重载 cout

1. 什么是函数重载

  1. 一组函数,其中函数名相同,参数列表的个数或者类型不同,那么这一组函数就称为函数重载
  2. 一组函数要称得上重载,一定要在同一个作用域中。
    1. 同一作用域
    #include <iostream>
    #include <cstring>
    using namespace std;
    
    bool compare(int a, int b) {
        cout << "int int" << endl;
        return a > b;
    }
    
    bool compare(double a, double b) {
        cout << "double double" << endl;
        return a > b;
    }
    
    int main(){
        compare(10, 20);
        compare(10.2, 40.2);
    
        return 0;
    }
    
    
    显示结果:
    在这里插入图片描述
    2. 不同作用域
    #include <iostream>
    #include <cstring>
    using namespace std;
    
    bool compare(int a, int b) {
        cout << "int int" << endl;
        return a > b;
    }
    
    bool compare(double a, double b) {
        cout << "double double" << endl;
        return a > b;
    }
    
    bool compare(const char* a, const char* b) {
        cout << "const char*   const char*" << endl;
        return a > b;
    }
    
    int main(){
        bool compare(int, int);
        compare(10, 20);
        compare(10.2, 40.2);
        compare("abcd", "efgh");
    
        return 0;
    }
    
    显示结果:
    在这里插入图片描述
  3. const或者volatile的时候
    • const情况下:
      void func(int a) {
          cout << "int" << endl;
      }
      
      void func(const int a) {
          cout << "const int" << endl;
      }
      
      
      int main() {
          int a = 10;
          func(a);
          const int b = 99;
          func(b);
      
          return 0;
      }
      
      显示结果:
      在这里插入图片描述

C++和C

01. C不支持函数重载

C++代码产生函数符号的时候,是由函数名+参数列表组成的
C代码 产生函数符号的时候是由函数名决定的。

标签:compare,函数,int,bool,重载,cout
From: https://www.cnblogs.com/xvxing/p/18142046

相关文章

  • Effective Python:第5条 用辅助函数取代复杂的表达式
    初始代码: 第一次优化:多次使用:  ......
  • uniCloud云函数概述---云对象
    云对象是普通云函数的升级版,功能和云函数是一样的。它在大多数场景下替代了普通云函数。云对象是对象化的云函数,比如一个文章云对象,它可以包括文章的创建,文章的删除,文章的编辑等功能。(一句话描述云对象:等同于PHP后端部份) 一、创建云对象打开项目,找到uniCloud/cloudfuncti......
  • R语言函数速查
    R语言函数速查`ls()`:查看工作空间中的变量名字cat(,sep=)输出scan()输入rm()删除read.csv(file,encoding=’UTF-8)read.table(file,reader=T,sep=’’,stringAsFactor=T,encoding=’’)factor(data,levels=c(),labels=c())#NA不是levelsis.判断is.inf......
  • 深度解读《深度探索C++对象模型》之拷贝构造函数
    接下来我将持续更新“深度解读《深度探索C++对象模型》”系列,敬请期待,欢迎关注!也可以关注公众号:iShare爱分享,自动获得推文。写作不易,请有心人到我的公众号上点点赞支持一下,增加一下热度,也好让更多的人能看到,公众号里有完整的文章列表可供阅读。有以下三种情况,一个类对象的初始......
  • element的表格页面宽度变化问题 (防抖函数)
      //表格问题(防抖函数) constdebounce=(fn,delay)=>{ lettimer=null; returnfunction(){ letcontext=this; letargs=arguments; clearTimeout(timer); timer=setTimeout(function(){ fn.apply(context,args); },delay); } } const_R......
  • MySQL存储过程与函数
    MySQL存储过程与函数存储过程创建、调用、删除创建CREATEPROCEDURE存储过程名(参数列表)BEGIN--SQL语句END;调用CALL存储过程名(参数值);删除DROPPROCEDUREIFEXISTS存储过程名;函数创建、调用、删除创建CREATEFUNCTION函数名(参数列表)RETURNS返......
  • Mysql低版本中处理row_number()函数的适配问题
    在最近的项目中遇到了mysql8.0版本中row_number()函数在迁移数据库低版本mysql5.0版本无法使用的问题。具体sql如下:1SELECTDATE(a.CRETIFICATE_DATE)ASNAME,COUNT(*)ASCOUNTFROM2(SELECTCERTIFICATE_DATE,ENABLED,CERTIFICATION_STATE,ROW_NUMBER()over(PARTIT......
  • vptr和vtbl(虚指针和虚函数表)
    vptr和vtbl(虚指针和虚函数表)c++代码的抽象类是->类当中只包含纯虚函数当一个类有虚函数,即便类当中没有成员变量.他的对象大小也会有一根指针大小->由操作系统决定指针多大虚函数子类的对象里面有父类的成分示例结构代码:#pragma#ifndef__VPTR_AND_VTBL__#define__V......
  • 重载全局的new和delete
    重载全局的new和delete::operatornew::operatornew[]->不可以被声明与同一个namespace之内new会执行三个动作:->之前的代码提到:new本身会开辟内存空间.所以声明方法需要一个size_tsize的参数inlinevoid*operatornew(size_tsize){}::operatordelete::......
  • vim中函数跳转的功能实现
    左手编程,右手年华。大家好,我是一点,关注我,带你走入编程的世界。公众号:一点sir,关注领取编程资料介绍函数跳转是要给IDE中非常重要也非常常用的功能,而原生的Vim并不提供这个功能,这个确定有点让人遗憾,按理说这么常用的功能应该是要提供的。但是没有关系,有插件可以实现这样的功......