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

从C语言开始的C++编程生活(2)

前言

本系列文章承接C语言的学习,需要有C语言的基础才能学会哦~
第2篇主要讲的是有关于C++的缺省参数函数重载
C++才起步,都很简单呢!

目录

前言

缺省参数 

基本语法

缺省参数的作用

函数重载

基本语法

重载的作用


缺省参数 

缺省参数也可以叫做默认参数,是C语言无法实现的一种特殊功能。

基本语法

void Func(int a, int b = 20, int c = 0)
{
    printf("%d", a + b + c);
}

这段代码,声明并且定义了一个Func函数,我们可以发现,其中参数b和参数c都被赋了值。这里的b和c就是缺省(默认)参数。

使用缺省参数的函数有两种
全缺省,所有参数都是缺省参数。
半缺省左边一部分参数是普通参数,剩余的是缺省参数。

!!注意 !!半缺省参数只能统一全部排列在参数列表的右侧,且缺省参数和普通参数不可以交替放置!!

缺省参数的作用

int main()
{
    Func(30);//缺省参数不传参
    Func(1);//缺省参数部分传参 
    Func(1, 2, 30);//全部传参
    return 0;
}

 使用了缺省参数的函数,在传参时,可以有多种选择。
缺省参数全部不传参。此时,这些参数使用声明时定义的默认值(如a = 0, b = 20)。
缺省参数全部传参。此时,所有参数使用传入的值
缺省参数部分传参。此时,传了参的缺省参数使用传入的值其它的使用默认值

!!注意 !!传参只能从左到右按顺序传,不可以跳跃传参。

//!!错误示范!!
//想要第二个参数不传值
Func(1, ,3);//!!是错误的!!

//!!正确示范!!
//想要第二个参数不传值,也就是想第二个参数用默认值
Func(1,20,3);//传入默认值即可

函数重载

概念上,和JAVA的方法重载是一样的。

基本语法

void func()
{
    printf("haha\n");
}
void func(int a)
{
    printf("%d\n",2*a);
}

当两个函数同名而且参数列表不同的时候,这两个函数构成重载

什么是不同的参数列表?
类型不同 or 顺序不同 or 个数不同
其中变量标识符的不同,无法构成重载。

重载的作用

程序根据传入的参数,自行匹配应该传入到哪个函数里。

int main()
{
    func();//没有参数,对应的是上段代码第一段定义的参数列表
    func(2);//有一个参数2,对应的是上段代码第二段定义的参数列表
}

输出结果是:
haha

!!注意 !!全缺省函数和无参数函数不可以构成重构!!

//!!错误 !!
void func()
{
	printf("hhhhhhhh");
}
void func(int a = 0)
{
	printf("xxxxxxxx\n");
}
int main()
{
	func();
}

此时,程序不知道func()是要调用上一段定义还是调用下一段定义,去使用a的默认值。就会发生报错!! 

❤~~本文完结!!感谢观看!!欢迎来我博客做客~~❤


http://www.kler.cn/a/600469.html

相关文章:

  • Word转Markdown工具推荐(word文档转markdown文档,docx)
  • 如何转移虚拟主机?最新虚拟主机迁移方法
  • 伊吖学C笔记(2、文件、启动、数学基础)
  • 银河麒麟桌面版包管理器(四)
  • vulntarget_a 训练笔记
  • 群体智能优化算法-正弦余弦算法(Sine Cosine Algorithm, SCA,含Matlab源代码)
  • golang errgroup用法介绍结合
  • 铺就智能汽车数据的“安全赛道”
  • 高级java每日一道面试题-2025年3月08日-微服务篇[Eureka篇]-说一说Eureka心跳机制
  • 17.1Go语言操作MongoDB
  • Jenkins集成Trivy安全漏洞检查指南
  • 算法 之 字典树
  • Sql Server 索引性能优化 分析以及分表
  • mysql实例2
  • 【设计模式】单件模式
  • React(四)setState原理-性能优化-ref
  • golang使用邻接表或邻接矩阵表述图
  • git 标签学习笔记
  • C# 正则表达式
  • 开源图生视频模型技术全景解析