C++学习笔记(3)——缺省函数与函数重载

文章探讨了缺省参数的特性,包括全缺省和半缺省,以及它们在函数声明和定义中的使用。函数重载是C++的一个关键特性,但不被C语言支持。C++允许同名函数通过不同的形参列表实现重载,而C语言则要求函数名唯一。文章还详细解释了C与C++的编译链接过程差异。

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


一、缺省参数

1.缺省参数的特性

1.1缺省参数思维导图

在这里插入图片描述

PS.

  1. 不传参数时函数会使用缺省参数
  2. 函数从左往右依次传参
  3. 从右往左依次缺省

2.缺省函数的分类

  1. 全缺省:缺省全部参数
  2. 半缺省:缺省部分参数

3.缺省函数的使用

函数声明处给缺省参数,函数定义处不给。
缺省函数也可以构成重载,但是同名函数调用时会存在歧义。

二、函数重载

1.函数重载思维导图

在这里插入图片描述

三、C语言不允许同名函数

C++允许声明功能相似的同名函数,这些同名函数的形参列表(参数的个数、类型、类型顺序)不同。
返回值不同一定不构成重载,构成重载参数一定不同。

四、C语言不支持重载,C++支持重载

C语言与C++的的差异:

  1. 函数名修饰规则不同;
  2. 编译链接过程不同,如下:
    2.1. 预处理: 拷贝生成一个文件___.i然后展开、头文件展开、宏替换、条件编译、去掉注释;
    2.2. 编译:检查语法,生成汇编代码
    2.3. 汇编(是一门指令集的语言):汇编代码转化成二进制机器代码,生成一个___.o文件
    2.4. 链接(本质为“兑现承诺,找到定义”):生成一个可执行程序“___.exe”或"a.out"

1.编译链接过程图示

具体过程如图所示在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值