漫谈C与C++(《Effictive C++》/关于函数重载)

目录

前言

概述

函数重载


前言

最近浏览《Effictive C++》,突然发现:C语言不支持函数重载,C++能够支持这一特性。确实有点颠覆认知。看有关C++的书籍多一点的缘故吧!

概述

函数重载

在 C++ 中,函数重载是指可以定义多个同名函数,但它们的参数列表必须不同(包括参数类型、参数个数或参数顺序)。通过函数重载,我们可以使用相同的函数名来实现不同的功能。

  1. 函数名相同:在函数重载中,函数名必须相同。
  2. 参数列表不同:函数重载通过参数列表的差异来区分不同的函数。参数列表包括参数的类型、个数和顺序。
    #include <iostream>
    
    void print(int num) {
        std::cout << "Integer number: " << num << std::endl;
    }
    
    void print(double num) {
        std::cout << "Double number: " << num << std::endl;
    }
    
  3. 返回类型不同:C++ 不允许只根据返回类型的不同来进行函数重载。因为编译器无法仅根据返回类型来确定调用哪个函数。
    #include <iostream>
    
    void print(int num) {
        std::cout << "Integer number: " << num << std::endl;
    }
    
    int print(int num) {
        std::cout << "Double number: " << num << std::endl;
    }
    
    

    以上实例是无法编译通过的。

  4. 可以重载成员函数:在类中,成员函数之间也可以进行重载,遵循上述规则。
  5. const 成员函数:const 成员函数与非 const 成员函数可以进行重载。当对象为 const 时,会调用 const 成员函数;否则调用非 const 成员函数。
  6. 默认参数:函数重载中可以使用默认参数,但要注意默认参数的位置应该放在非默认参数的后面。

相关推荐

  1. 漫谈CC++(《Effictive C++》/关于函数重载

    2024-02-21 20:48:04       49 阅读
  2. C++函数重载

    2024-02-21 20:48:04       46 阅读
  3. C++:重载函数

    2024-02-21 20:48:04       34 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-21 20:48:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-21 20:48:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-21 20:48:04       87 阅读
  4. Python语言-面向对象

    2024-02-21 20:48:04       96 阅读

热门阅读

  1. C Primer Plus(第六版)16.18 编程练习 第5题

    2024-02-21 20:48:04       49 阅读
  2. C语言:密码强度

    2024-02-21 20:48:04       46 阅读
  3. C语言----数组

    2024-02-21 20:48:04       46 阅读
  4. Node响应Vue axios请求方法说明

    2024-02-21 20:48:04       43 阅读
  5. Git面试题整理(对比)

    2024-02-21 20:48:04       43 阅读
  6. C语言—自定义(构造)类型

    2024-02-21 20:48:04       49 阅读
  7. 【GIT学习】仓库过大的清理办法

    2024-02-21 20:48:04       47 阅读
  8. QT day2

    QT day2

    2024-02-21 20:48:04      50 阅读