C++基础-3-函数
3. 函数
3.1 函数默认参数
1 #include<iostream>
2 using namespace std;
3
4 //函数的默认参数
5 //自己传参,就用自己的,如果没有,就用默认值
6 int func(int a, int b = 20, int c = 30)
7 {
8 return a + b + c;
9 }
10
11 //注意:
12 //1.如果某个位置有了默认参数,那么从这个位置往后,从左到右必须有默认参数
13 //2.如果函数声明中有默认参数,函数实现就不能有默认参数
14 //即,声明和实现只能一个有默认参数
15 int func2(int a = 10, int b = 20);
16
17 //int func2(int a = 20, int b = 30) {
18 // return a + b;
19 //}
20 // 报错,重定义默认参数
21
22 int main() {
23
24 cout << func(10, 20, 30) << endl;
25 cout << func2(10, 20) << endl;
26
27 system("pause");
28
29 return 0;
30 }
31
32 //总结
33 //在C++中,函数的形参列表中的形参可以有默认值的
34 //语法:返回值类型 函数名 (参数=参数默认值){}
35 //
3.2 函数占位参数
1 #include<iostream>
2 using namespace std;
3
4 //函数占位参数,占位参数也可以有默认参数
5 void func(int a, int = 10) {
6 cout << "a = " << a << endl;
7 }
8
9 int main() {
10
11 int a = 10;
12 int b = 20;
13
14 func(a, b);
15
16 system("pause");
17
18 return 0;
19 }
20
21 //总结
22 //形参列表可以有占位参数,用作占位,调用函数时必须填补该位置
23 //语法:返回值类型 函数名(数据类型){}
3.3.1 函数重载概述
#include<iostream>
using namespace std; //函数重载
//让函数名相同,提高复用性 void func() {
cout << "func的函数调用" << endl;
} void func(int a) {
cout << "func的函数调用!" << endl;
} int main() { func(3); system("pause"); return 0;
} //总结
//作用:函数名可以相同,提高复用性
//函数重载满足条件:
//1.同一个作用域下
//2.函数名称相同
//3.函数参数类型不同 或者 个数不同 或者 顺序不同
//注意:函数的返回值不可以作为函数重载的得条件
3.3.2 函数重载注意事项
#include<iostream>
using namespace std; //函数重载注意事项
//1.引用作为重载条件
void func(int& a) { // int &a = 10; 不合法的
cout << "func (int &a)的调用" << endl;
} void func(const int& a) { // const int &a = 10; //会做转换
cout << "func (const int &a)的调用" << endl;
} //2.函数重载遇到默认参数
void func2(int a, int b = 10) {
cout << "func2 (int a, int b)的调用" << endl;
} void func2(int a) {
cout << "func2 (int a)的调用" << endl;
} int main() { int a = 10;
func(a); // func (int &a)的调用 func(10); // func (const int &a)的调用 //func2(10); //当函数重载碰到默认参数,出现二义性,报错,编程时尽量避免 system("pause"); return 0;
} //总结
//引用作为重载条件
//函数重载碰到默认参数
参考:《黑马程序员》C++教程
C++基础-3-函数的更多相关文章
- python基础——匿名函数
python基础——匿名函数 当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便. 在Python中,对匿名函数提供了有限支持.还是以map()函数为例,计算f(x)=x2时 ...
- python基础——返回函数
python基础——返回函数 函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回. 我们来实现一个可变参数的求和.通常情况下,求和的函数是这样定义的: def calc_ ...
- python基础——sorted()函数
python基础——sorted()函数 排序算法 排序也是在程序中经常用到的算法.无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小.如果是数字,我们可以直接比较,但如果是字符串或者两个d ...
- python基础——filter函数
python基础——filter函数 Python内建的filter()函数用于过滤序列. 和map()类似,filter()也接收一个函数和一个序列.和map()不同的是,filter()把传入的函 ...
- Java之--Java语言基础组成—函数
Java语言基础组成-函数 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的函数,函数 ...
- 数据分析与展示——Matplotlib基础绘图函数示例
Matplotlib库入门 Matplotlib基础绘图函数示例 pyplot基础图表函数概述 函数 说明 plt.plot(x,y,fmt, ...) 绘制一个坐标图 plt.boxplot(dat ...
- JavaSE语法基础(3)---函数、数组
JavaSE语法基础(3)---函数.数组 函数的概念:实现特定功能的一段代码,可反复使用. 函数的出现减少代码冗余,提高代码的复用性,可读性,可维护性,可以使每个功能模块独立起来,方便分工合作. 函 ...
- python基础——匿名函数及递归函数
python基础--匿名函数及递归函数 1 匿名函数语法 匿名函数lambda x: x * x实际上就是: def f(x): return x * x 关键字lambda表示匿名函数,冒号前面的x ...
- Go语言基础之函数
Go语言基础之函数 函数是组织好的.可重复使用的.用于执行指定任务的代码块.本文介绍了Go语言中函数的相关内容. 函数 Go语言中支持函数.匿名函数和闭包,并且函数在Go语言中属于“一等公民”. 函数 ...
- 第二周 数据分析之展示 Matplotlib基础绘图函数实例
Pyplot基础图表函数 Pyplot饼图的绘制: Pyplot直方图的绘制: Pyplot极坐标图的绘制: Pyplot散点图的绘制: 单元小结: import numpy as np import ...
随机推荐
- 如果leader crash时,ISR为空怎么办?
kafka在Broker端提供了一个配置参数:unclean.leader.election,这个参数有两个值:true(默认):允许不同步副本成为leader,由于不同步副本的消息较为滞后,此时成为 ...
- jQuery--筛选【过滤函数】
之前选择器可以完成的功能,筛选也提供了相同的函数 筛选函数介绍 eq(index|-index) 类似:eq()index:正数,从头开始获得指定所有的元素,从0算起,0表示第一个-index:负数, ...
- 转:master公式(主方法)
master公式(也称主方法)是利用分治策略来解决问题经常使用的时间复杂度的分析方法,(补充:分治策略的递归解法还有两个常用的方法叫做代入法和递归树法),众所众知,分治策略中使用递归来求解问题分为三步 ...
- 学习openldap02
III (二十二)OpenLDAP 目录服务: 目录是一类为了浏览和搜索数据而设计的特殊的数据库,目录服务是按照树状形式存储信息,目录包含基于属性的描述性信息,并且支持高级的过滤功能,如microso ...
- 以太网在汽车行业中的挑战——灵活的接口及软件使ECU开发不再复杂
以太网在汽车行业中的挑战--灵活的接口及软件使ECU开发不再复杂 以太网将会在一批新车型中作为一个车载系统网络使用.因此,下一步就是以太网和现有汽车网络技术的集成,包括:CAN.FlexRay.LIN ...
- Pandas数据统计函数
Pandas数据统计函数 汇总类统计 唯一去重和按值计数 相关系数和协方差 0.读取csv数据 1.汇总类统计 2.唯一去重和按值计数 2.1 唯一性去重 一般不用于数值列,而是枚举.分类列 2.2 ...
- HTML5离线存储整理
前端html部分 //canvas.html <!DOCTYPE html> <html manifest="/test.appcache"> <he ...
- 走一步再走一步,揭开co的神秘面纱
前言 原文地址 源码地址 了解co的前提是已经知晓generator是什么,可以看软大神的Generator 函数的语法,co是TJ大神写的能够使generator自动执行的函数库,而我们熟知的koa ...
- javaweb之浏览功能
今天我们来写浏览功能,浏览主要是通过sql语句将数据库里的数据查出来,并显示在页面上. 一.dao层 在上一篇文章的基础上dao层加入浏览方法. public List<Course> l ...
- Zookeeper中的Leader选取机制
一.Zookeeper是什么? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应 ...