zoukankan      html  css  js  c++  java
  • C++函数的重载

    什么时函数重载:

      函数重载是指在同一作用域内,可以有一组具有相同函数名,不同参数列表的函数,这组函数被称为重载函数。重载函数通常用来命名一组功能相似的函数,这样做减少了函数名的数量,避免了名字空间的污染

    这些同名函数的形参列表(参数“个数” 或 “类型” 或 “顺序”)必须不同,常用来处理实现功能类似数据类型不同的问题

    #include <iostream>
    #include <string>
    using namespace std;
    
    void hansu(char a[], int b, int c) {
        cout << "三个参数" << endl;
    }
    
    void hansu(char a[], int b) {
        cout << "参数个数不同" << endl;
    }
    
    void hansu(int b,char a[],int c) {
        cout << "参数顺序不同" << endl;
    }
    
    void hansu(int a, int b, int c) {
        cout << "参数类型不同" << endl;
    }
    
    int main()
    {
        char a[] = "liming";
        hansu(a, 20, 30);
        hansu(a, 20);
        hansu(10, a, 30);
        hansu(10, 20, 30);
            
    }

    重载函数的匹配: 

    #include <iostream>
    #include <string>
    using namespace std;
    
    void hansu(char a) {
        cout << "hansu-->char" << endl;
    }
    void hansu(int a) {
        cout << "hansu-->int" << endl;
    }
    
    
    int main()
    {
        char c = 'A';
        hansu(c);  //匹配const转换
            
    }
    #include <iostream>
    #include <string>
    using namespace std;
    
    void hansu(char a) {
        cout << "hansu-->char" << endl;
    }
    void hansu(int a) {
        cout << "hansu-->int" << endl;
    }
    
    
    int main()
    {
        short c = 100;
        hansu(c);  //匹配升级转换
            
    }
    #include <iostream>
    #include <string>
    using namespace std;
    
    void hansu(char a) {
        cout << "hansu-->char" << endl;
    }
    void hansu(...) {
        cout << "hansu-->int" << endl;
    }
    
    
    int main()
    {
        short c = 100;
        hansu(c);  //匹配降级转换
            
    }

    总结:完全匹配>=常量转换>升级转换>降级转换>省略号

  • 相关阅读:
    数据库之多表操作
    数据库之修改表结构
    mysql数据库
    协程
    线程
    Javaweb基础学习—— jQuery基础
    javaweb基础学习—— css
    JDBC基础学习笔记
    JDBC连接MySQL常见错误集锦
    MySQL基础笔记
  • 原文地址:https://www.cnblogs.com/liming19680104/p/13431798.html
Copyright © 2011-2022 走看看