C++初阶——函数重载

news2024/11/25 14:34:46

前言:C++中除了可以在不同的命名空间中使用同名函数,还有一种支持在同一个作用域中同名函数的方式——函数重载。

函数重载

  • 一.什么是函数重载?
  • 二.函数重载的3种规则
  • 三.特殊情况

一.什么是函数重载?

C++允许同样同一作用域中声明几个功能相似的同名函数,常用来处理实现功能类似数据类型不同的问题。

二.函数重载的3种规则

1.类型不同‘
2.类型顺序不同
3.类型数量不同
注意!!!:
1.返回值类型不同并不能构成函数重载
2.形参是随你喜好取名的,所以形参不同并不能构成函数重载

举例:

//一
double  Func(int x, double y)
{
	cout << x+y << endl;
}
//二
double Func(int x, double y, int z)
{
	cout << x + y + z << endl;
}
//三
double Func(double x, int y)
{
	cout << x + y << endl;
}

//返回值类型跟三不同,不能构成函数重载。
//int Func(double x, int y)
//{
//	cout << x + y << endl;
//}

int main()
{
	Func(1, 2.2);     //一
	Func(1, 1.1, 2); //二
	Func(1.1, 2);     //三
	return 0;
}

控制台输出如下:

在这里插入图片描述

三.特殊情况

遇到过的特殊情况,特此描述一下:
前面我们学过了缺省参数,那么以下情况可以运行吗?

void  Func(int x, int y)
{
	cout << x+y << endl;
}
void Func(int x, int y, int z = 10)
{
	cout << x + y + z << endl;
}
int main()
{
	Func(1, 2); 
	return 0;
}

该处的Func()既可以是第一个,也可以是第二个,因此存在歧义,编译器会报错。
在这里插入图片描述

文末BB:对哪里有问题的朋友,尽管在评论区留言,若哪里写的有问题,也欢迎朋友们在评论区指出,博主看到后会第一时间确定修改。最后,制作不易,如果对朋友们有帮助的话,希望能动动你们发财的小手给点点赞和关注.
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/849553.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IPWorks OFX Delphi Edition Crack

IPWorks OFX Delphi Edition Crack IPWorks OFX由可以访问电子交易信息的组件组成&#xff0c;并包括银行转账和付款提交等功能。这些组件使应用程序开发人员能够构建包含更快、更准确的交易对账、发送即时交易通知以及完全关闭支付和会计之间循环的解决方案。 IPWorks OFX功能…

请求接口时报异常:org.springframework.web.multipart.MultipartException

请求接口时报异常&#xff1a;org.springframework.web.multipart.MultipartException: Current request is not a multipart request 检查后发现自己忘记传文件参数 添加参数后请求正常。

软件测试的生命周期

目录 软件测试&软件开发生命周期 如何描述一个bug? 如何定义bug的级别 bug的生命周期 测试的执行和BUG管理 产生争执怎么办&#xff08;处理人际关系&#xff09; 软件测试&软件开发生命周期 需求阶段 --测试人员需要了解需求, 对需求进行分解得出测试需求 计…

python的virtualenv虚拟环境无法激活activate

目录 问题描述&#xff1a; 解决办法&#xff1a; 解决结果&#xff1a; 问题描述&#xff1a; PS D:\pythonProject\pythonProject\DisplayToolLibs\venv\Scripts> .\activate .\activate : 无法加载文件 D:\pythonProject\pythonProject\DisplayToolLibs\venv\Scripts\…

全网最牛,在Linux系统上安装Git详细步骤,看这一篇就够了...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 yum安装 1、在Li…

学习笔记-JVM-对象结构及生命周期

申明&#xff1a;文章内容是本人学习极客时间课程所写&#xff0c;文字和图片基本来源于课程资料&#xff0c;在某些地方会插入一点自己的理解&#xff0c;未用于商业用途&#xff0c;侵删。 原资料地址&#xff1a;课程资料 对象的创建流程 常量池检查:检查new指令是否能在常…

代码随想录—力扣算法题:209长度最小的子数组.Java版(示例代码与导图详解)

版本说明 当前版本号[20230808]。 版本修改说明20230808初版 目录 文章目录 版本说明目录209.长度最小的子数组思路暴力解法滑动窗口 两种方法的区别总结 209.长度最小的子数组 力扣题目链接 更多内容可点击此处跳转到代码随想录&#xff0c;看原版文件 给定一个含有 n 个…

k8sday01

第一章 kubernetes介绍 本章节主要介绍应用程序在服务器上部署方式演变以及kubernetes的概念、组件和工作原理。 应用部署方式演变 在部署应用程序的方式上&#xff0c;主要经历了三个时代&#xff1a; 传统部署&#xff1a;互联网早期&#xff0c;会直接将应用程序部署在物…

FreeRTOS(系统配置)

一、FreeRTOSConfig.h文件 FreeRTOS的系统配置文件为FreeRTOSConfig.h&#xff0c;在此配置文件中可完成FreeRTOS的裁剪与配置。 FreeRTOSConfig.h 根据正在构建的应用程序定制 FreeRTOS 内核。因此&#xff0c;它特定于应用程序&#xff0c;而不是 FreeRTOS&#xff0c;并且应…

The Sandbox 与 D.OASIS 联手打造 D.OASIS 城市

我们非常高兴地宣布与 D.OASIS 建立合作伙伴关系&#xff0c;共同打造无与伦比的娱乐体验&#xff1a;The Sandbox 中的 D.OASIS 城市&#xff01; 作为合作的一部分&#xff0c;The Sandbox 和D.OASIS将共同打造 D.OASIS 城市&#xff0c;一座充满无限可能的大都市&#xff0…

如何不安装vnc viewer等软件,在Windows上向linux传文件

举个例子&#xff0c;举一反三 1. 在linux上安装 wget sudo apt-get install wget2. 把要下载的文件链接复制&#xff0c;下载按钮上右键 3. 输入 wget #下载地址#然后就下载好了 每天进步一点点 笔记仅供自学&#xff0c;用来回看复习&#xff0c;不一定适合你&#xff0c…

华为OD机试(含B卷)真题2023 算法分类版,58道20个算法分类,如果距离机考时间不多了,就看这个吧,稳稳的

目录 一、数据结构1、线性表2、优先队列3、滑动窗口4、二叉树5、并查集6、栈 二、算法1、基础算法2、字符串3、图4、动态规划5、数学 三、漫画算法2&#xff1a;小灰的算法进阶参与方式 很多小伙伴问我&#xff0c;华为OD机试算法题太多了&#xff0c;知识点繁杂&#xff0c;如…

MyCat分片规则——应用指定分片规则、日期分片、固定分片hash算法

1.应用指定分片规则 2.固定分片hash算法 3.字符串hash解析 4.按天&#xff08;日期&#xff09;分片 5.按自然月进行分片

hcip的重发布实验(1)

题目 拓扑图 IP地址配置 R1 < Huawei>sy Enter system view, return user view with CtrlZ. [Huawei]sysname r1 [r1]int l0 [r1-LoopBack0]ip add 1.1.1.1 24 [r1-LoopBack0]int g0/0/0 [r1-GigabitEthernet0/0/0]ip add 12.1.1.1 24 Aug 8 2023 21:28:29-08:00 r1 %%0…

4.1 Windows终端安全

数据参考&#xff1a;CISP官方 目录 安全安装保护账户安全本地安全策略安全中心系统服务安全其他安全设置软件安全获取 一、安全安装&#xff08;以安装windows系统为例&#xff09; 选择合适的版本 商业版本&#xff1a;家庭版、专业版、专业工作站版、企业版特殊版本&…

模拟实现消息队列项目(系列2) -- 项目前期的准备

目录 前言 1. 需求分析 1.1 核心概念 1.2 核心API 1.3 交换机类型 1.4 持久化 1.5 网络通信 1.6 消息应答 2. 模块划分 结语 前言 我们在上一个系列对于消息队列有了初步的认识,那我们明白了消息队列的用途之后,我们就开始进行我们的项目了,首先我们的项目是仿照Rabb…

机器学习参数调优

手动调参 分析影响模型的参数&#xff0c;设计步长进行交叉验证 我们以随机森林为例&#xff1a; 本文将使用sklearn自带的乳腺癌数据集&#xff0c;建立随机森林&#xff0c;并基于泛化误差&#xff08;Genelization Error&#xff09;与模型复杂度的关系来对模型进行调参&…

数据库SQL优化技巧

作为程序员&#xff0c;主要的工作任务就是curd&#xff0c;和数据库打交道是无可避免的。掌握一些数据库的优化技巧是非常有必要的 一、减少数据访问 1、使用索引   索引的原理是利用额外的空间建立了一个平衡的搜索树&#xff0c;大大缩短了查询的时间&#xff0c;使得查…

鉴源实验室丨SOME/IP协议安全攻击

作者 | 张昊晖 上海控安可信软件创新研究院工控网络安全组 来源 | 鉴源实验室 社群 | 添加微信号“TICPShanghai”加入“上海控安51fusa安全社区” 01 引 言 随着汽车行业对于数据通信的需求不断增加&#xff0c;SOME/IP作为支持汽车以太网进程和设备间通信的一种通信协议应…

echarts中如何给柱状图增加滚动条

需求:当后台传递过来的数据过多的时候 页面的柱图就会很拥挤 如下图: 所以我们需要有一个横向的滚动条,让所有的柱子都能够展示 1.echarts中有一个dataZoom属性 可以给图形增加一个横向的滚动条 dataZoom:[ {type: slider, //滑动条型数据区域缩放组件realtime: true, //拖动…