当前位置: 首页 > news >正文

C++(2)之缺省参数和函数重载

1. 缺省参数 (或者叫做默认参数)
1.1 缺省参数概念
缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时,如果没有指定实
参则采用该形参的缺省值,否则使用指定的实参

1.2 缺省参数分类 

(1)全缺省参数:所有参数都给缺省值

(2)半缺省参数

 

注意:
1. 半缺省参数必须从右往左依次来给出,不能间隔着给
2. 缺省参数不能在函数声明和定义中同时出现,只能在声明中定义和给缺省参数,不能在定义中给
3.缺省是从右往左,传参是从左往右
4. 缺省值必须是常量或者全局变量
5. C语言不支持(编译器不支持)

2. 函数重载 
一个词可以有多重含义,人们可以通过上下文来判断该词真实的含义,即该词被重载了。

2.1 函数重载概念 
函数重载:是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这
些同名函数的形参列表(参数个数或类型或类型顺序)不同,没有要求返回值必须不同(可同可不同),常用来处理实现功能类似数据类型不同的问题


(1)参数类型不同

 

(2)参数个数不同

 

(3)参数类型顺序不同

 

2.2为什么c语言不支持函数重载,而c++支持函数重载
跟两个方面有关系:编译链接过程和函数名修饰规则

编译链接过程:
1.预处理:头文件的展开、宏的替换、条件编译、去掉注释
2.编译:检查语法、生成汇编代码
3.汇编:汇编代码转换程二进制机器码
4.链接:生成可以执行程序,例如:xxx.exe文件/a.out文件

函数名修饰规则:在进行编译处理的时候,函数名后面会带着函数的参数的缩写,这就是函数名修饰规则
例如:fun(int i,double c)进行函数名修饰过后就是:funid
所以,在c++中连接过程中就不会出现两个同名函数的连接错误
而在c语言中没有这个函数名修饰规则,所以c语言不支持函数重载

注:不是所有的函数都需要最后的时候进行链接,如果在当前文件下有函数的定义,就不需要最后的链接

 

 

http://www.dtcms.com/a/435825.html

相关文章:

  • 攻防世界-Web-NewsCenter
  • 濮阳住房建设厅网站网站建设视频上传
  • 网站建设 微信微博外包上线了 建立网站
  • 【多线程二】——线程安全
  • 网站建设属什么费用建网站莱阳哪家强?
  • 织梦建站系统教程网上房地产备案查询
  • 企业网站视频栏目建设方案汽车网站建设预算
  • 《嵌入式 – GD32开发实战指南(RISC-V版本)》第6章 按键
  • 《嵌入式 – GD32开发实战指南(RISC-V版本)》第4章 GD32VF103启动流程详解
  • 公司静态网站模板东乌珠穆沁旗网站建设
  • 网站怎么在微博推广个人网站 备案 攻略
  • 建设银行如何设置网站查询密码泰州网站建设策划
  • 基于django的电子商务网站开发山东城乡和住房建设厅官网
  • 无锡市网站搭建营销网站开发规划
  • 网站后台修改内容看不见了做移动端活动页面参考网站
  • 贵阳建立网站领动做的企业网站怎么样
  • VirtualBox 7.2.2安装踩坑记录
  • 重庆市工程建设信息西安seo盐城
  • 【Linux】Linux调试器----gdb/cgdb
  • 天津搜索引擎推广网站优化设计方案
  • 西安网站建设开发查派宜昌市住房和城乡建设局网站
  • 德州企业网站建设要素wordpress 纯代码 雪花
  • 柳州网站建设哪家好硬件开发是什么意思
  • linux学习笔记 (10) 进程的内存管理
  • Java学习笔记Day13
  • .net网站设计企业信息公示网站
  • 网站后台建设招聘中山专业网站制作
  • 怎么免费建设自己网站什么网站可以分享wordpress
  • 做影片的网站描述网络平台建设公司排名
  • 有阿里云主机管理平台如何自己做网站自己制作头像的网站 设计 动漫