c++核心编程之函数的重载

 更新时间:2022年03月21日 14:32:38   作者:高云城  
这篇文章主要介绍了c++核心编程之函数的重载,函数可以重复使用,提高了复用性,但前提是必须在一个作用域并且函数名称相同,下面附代码详细介绍,需要的小伙伴可以参考一下

1.函数重载概述

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

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

  • 1​.同一个作用域下​
  • 2.​函数名称相同​
  • 3.函数​参数类型不同​或者​个数不同​或者​顺序不同​

​注意​:函数的返回值不可以作为函数重载的条件

完整代码示例:

// 函数重载的条件
//1,在同一个作用域中
//2,相同的返回值类型和函数名
//3,函数的参数个数不同或者参数顺序不同或者参数类型不同
void cunc()
{
  cout << "func()函数的重载" << endl;
}

void func(int a)
{
  cout << "func(int a)函数的重载" << endl;
}

void fuc(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;
}

输出会直接报错:

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

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++核心编程之函数的重载的文章就介绍到这了,更多相关c++函数的重载内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C++多重继承二义性原理实例解析

    C++多重继承二义性原理实例解析

    这篇文章主要介绍了C++多重继承二义性原理实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • 学生信息管理系统C语言版

    学生信息管理系统C语言版

    这篇文章主要为大家详细介绍了C语言实现学生信息管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • VsCode安装和配置c/c++环境小白教程(图文)

    VsCode安装和配置c/c++环境小白教程(图文)

    本文主要介绍了VsCode安装和配置c/c++环境小白教程,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • C语言的sleep、usleep、nanosleep等休眠函数的使用

    C语言的sleep、usleep、nanosleep等休眠函数的使用

    本文主要介绍了C语言的sleep、usleep、nanosleep等休眠函数的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • C++中delete和delete[]的区别

    C++中delete和delete[]的区别

    这篇文章主要介绍了C++中delete和delete[]的区别的相关资料,需要的朋友可以参考下
    2016-03-03
  • C++提取文件名与提取XML文件的方法详解

    C++提取文件名与提取XML文件的方法详解

    这篇文章主要为大家详细介绍了C++提取文件名与提取XML文件的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助<BR>
    2022-03-03
  • C++中构造函数重载

    C++中构造函数重载

    这篇文章主要介绍了C++中构造函数重载的相关资料,十分的详细,需要的朋友可以参考下
    2015-06-06
  • C语言实现简单的停车场管理系统

    C语言实现简单的停车场管理系统

    这篇文章主要为大家详细介绍了C语言实现简单的停车场管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • C++实现LeetCode(145.二叉树的后序遍历)

    C++实现LeetCode(145.二叉树的后序遍历)

    这篇文章主要介绍了C++实现LeetCode(145.二叉树的后序遍历),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • C++虚函数表的原理与使用解析

    C++虚函数表的原理与使用解析

    对C++ 了解的人都应该知道虚函数(Virtual Function)是通过一张虚函数表(Virtual Table)来实现的。简称为V-Table。本文就将详细讲讲虚函数表的原理与使用,需要的可以参考一下
    2022-04-04

最新评论