C++核心编程--函数的重载

本文介绍了C++中的函数重载概念,强调了其在提高代码复用性方面的作用,并详细说明了函数重载的条件,包括同一作用域、相同的函数名以及参数类型、个数或顺序的不同。同时,文中指出返回值类型不能作为重载依据。在后续部分,讨论了函数重载与引用结合使用的情况,以及如何在函数中应用默认参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.1函数重载概述

作用:函数可以相同,提高复用性

​作用​:函数可以相同,提高复用性

​函数重载必须满足的条件​:

1​.同一个作用域下​
2.​函数名称相同​
3.函数​参数类型不同​或者​个数不同​或者​顺序不同​
​注意​:函数的返回值不可以作为函数重载的条件

完整代码示例:

// 函数重载的条件
//1,在同一个作用域中
//2,相同的返回值类型和函数名
//3,函数的参数个数不同或者参数顺序不同或者参数类型不同
void cunc()
{
    cout << "func()函数的重载" << endl;
}
​
void func(int a)
{
    cout << "func(int a)函数的重载" << endl;
}
​
void func(double c)
{
    cout << "func(doube c )的调用" << endl;
}
​
void func(int a,double c)
{
    cout << "func(int a,double c)函数的调用" << endl;
}
 
//函数的返回值类型不能作为函数的重载
//int func(int a,double c)
//{
//  cout << "函数int func()的调用" << endl;
//  return 22;
//}
​
int main()
{
    //func(3.33);
    //func(10,3.11);
    //func(210, 20);
    //func(10,20);
    system("pause");
}

输出结果:

总结:函数的重载类似与汉语中的音字,在不同的环境读不同的音,用不同的参数环境调用不同的功能

注意函数返回值不能作为函数重载

int func(int a,double c)
{
  cout << "函数int func()的调用" << endl;
  return 22;
}

输出回报错

1.2函数重载遇上引用

  • 引用做为重载条件

  • 函数重载碰到函数默认参数

  • 代码示例:

    //函数重载的注意事项
    //1、引用作为函数参数
    void func(int &a)
    {
        cout << "函数function(int a)的调用" << endl; 
    }
    ​
    void func(const int& a)
    {
        cout << "函数function(const int a)的调用" << endl;
    }
    ​
    //2、函数重载碰到默认参数
    void test(int a)
    {
        cout << "函数test(int a)的调用" << endl;
    }
    ​
    void test(int a,int b=10)
    {
        cout << "函数test(int a,int b)的调用" << endl;
    }
    ​
    int main()
    {
        //int a = 10;
        //func(a);//实际参数a变量可读可写,传入函数后走可读可写的函数
        //func(10);//实际参数10是常量 若走int &a=10;不合法,引用无效;但能走const int &a=10;
    ​
        test(10, 20);
        //test(10);//错误,两个函数都能被调用。出现二义性。
    ​
        system("pause");
    }

    我另一平台也是同名同作

  • c++核心编程--函数的重载_高云城的技术博客_51CTO博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值