尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
C++学习日记 Day3:函数高级(默认参数、占位参数、函数重载)
## 今天学了什么今天学习C函数默认参数、占位参数及函数重载的语法和规则。## 函数的默认参数函数形参列表的形参可以有默认值语法 返回类型 函数名参数默认值{}。#includeiostream using namespace std; //函数的默认参数 int func(int a, int b 10,int c20) { return a bc; } //默认参数声明实现只能有一个 如果在实现里实现必须在main函数前面 int func02(int a, int b); int func02(int a 10, int b 1) { return a b; } int main() { cout func 的运行结果 func(1,1,1)endl; cout func02 的运行结果 func02() endl; return 0; }通过对上述代码进行调试发现- 设置默认参数后传入新值会替换默认值不传入新值则会使用默认值- 默认参数后面的参数也必须有默认值前面没有。即默认参数必须从右往左连续定义否则会报错- 函数声明有默认参数则函数实现就不能有默认参数反正也是。并且如果默认参数在实现函数的实现必须在main函数前否则默认参数设置无效。## 函数的占位参数语法返回值类型 函数名数据类型{}参数只有类型不写变量名作用是占位调用函数时必须填补该位置占位参数可以设置默认值。int func03(int a, int) //占位参数可以有默认值 例int func03(int a, int10){a a 1;return a;}## 函数重载** 作用同一个作用域下函数名可以相同依靠参数区分函数提高复用性。**** 函数重载条件**同一个作用域同一个函数名函数参数的类型不同/个数不同/顺序不同。**重点函数的返回值不同不能作为重载条件原因调用函数时编译器只看传入参数可以不接收返回值编译器无法仅靠返回值区分调用函数。**#includeiostream using namespace std; int func(int a, int b ,int c) { return a b c; } //函数重载 类型不同 int func(float a) { return a 100; } //函数重载 个数不同 int func(int a, int b) { return a 2 b; } //函数重载 顺序不同 int func(int a, double b) { return a * b; } int func(double a, int b) { return a / b; } int main() { cout func 的运行结果 func(1,1,1)endl; cout func 重载函数的运行结果 func((float)1.0) endl; return 0; }## 引用作为重载条件当函数参数为引用时也有可重载的情况int a 和 const int a 可以构成重载传入变量左值调用void func04(int a);传入常量、字面量调用void func04(const int a);//引用作为重载条件 void func04(int a) { cout func(int a)调用 endl; } void func04(const int a) { cout func(const int a)调用 endl; } int main() { int i1; func04(i);//输出结果func(int a)调用 func04(2);//输出结果func(const int a)调用 return 0; }## 发现函数重载遇到默认参数坑二义性例①void funcint a,int b10{}②void func (int a) {}func(1);虽然满足函数重载的条件-参数个数不同但运行依旧错误。原因编译器在调用时发现①②两个 函数都能调用存在二义性导致运行出错。
RELATED

相关推荐

JHU 神经网络基础笔记(二)

JHU 神经网络基础笔记(二)

群体隐私:如果对单个实体保证了差分隐私,它自然能为群体提供(稍弱的)隐私保护。 后处理不变性:对差分隐私的输出进行任何后处理,都不会影响其差分隐私的保证。 透明度与问责制 我们探讨了公平和隐私的数…

📅 2026/9/23 7:21:45
第179篇_生鲜菜价采集

第179篇_生鲜菜价采集

【Python爬虫实战】第179篇:生鲜菜价采集——农贸市场生鲜价格追踪与对比分析 所属专栏:【Python爬虫实战】从零到企业级爬虫工程师(CSDN 付费专栏) 本篇篇目:第 179 篇(垂直行业数据采集专题) 难度等级:中级,侧重数据清洗与分组对比 阅读时长:约 30 分钟(跟着敲代码…

📅 2026/9/23 7:21:45
打印机驱动安装全攻略:四种方法详解与避坑指南

打印机驱动安装全攻略:四种方法详解与避坑指南

打印机这东西,平时安安静静待在角落,一旦罢工,整个办公室都能听见有人喊“谁把驱动删了”。我见过太多人抱着打印机说明书翻半天,最后还是在网上随便下了一个来路不明的驱动包,结果装完系统蓝屏。也见过有人明明插着US…

📅 2026/9/23 7:16:45
MORE NEWS

更多资讯

📰

3步搭建宠物医生博客系统,一文搞懂嵌入式与Web融合实战

3步搭建宠物医生博客系统,一文搞懂嵌入式与Web融合实战 官方文档动辄几百页,新手往往还没读完目录就放弃。对于刚接触嵌入式开发与Web前端结合的管理员来说,这种信息过载简直是噩梦。别慌,今天我们抛开那些晦涩的理论,用 一文搞懂…

📰

升级 ChatGPT Pro 后,Codex 接手真实开发任务:从 Git Diff 到 config.toml 配置骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

大模型技术现状与成本效益分析

1. 大模型技术圈的现状观察最近半年打开任何一家科技媒体的首页,几乎都能看到大模型相关的突破性进展。从多模态理解到代码生成,从对话流畅度到推理能力,各家团队你追我赶的态势让人想起十年前的移动互联网大战。但这次的技术迭代速度明显更快…

📰

Atlas 300V推理卡部署YOLO完整指南:从硬件定位到模型转换

最近深度学习推理的热度一直都在,尤其是边缘场景里,提到“Atlas”,几乎所有搞AI的人都会多看一眼。我在实际项目里也被问过无数次同一个问题:Atlas 300V 24G到底算什么设备?是那种跑训练的GPU加速卡,还是纯…

📰

共享咖啡机性能优化实战:3个报错排查法,搞定环境配置卡顿

共享咖啡机性能优化实战:3个报错排查法,搞定环境配置卡顿 配置环境就卡半天,是不是你的日常?别急,这不仅是网络问题,更是底层资源调度没搞懂。今天咱们不整虚的,直接拆解共享咖啡机这类高并发设备背后的 性能优化…

📰

安卓APK卡密授权工具:离线验证与动态生成技术解析

1. 项目背景与核心功能解析在安卓应用分发领域,开发者经常面临授权管理的痛点。传统授权方式要么依赖服务器验证(增加运维成本),要么采用固定激活码(容易被批量传播)。这个APK卡密工具正是为解决这些实际问…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬