【C/C++】函数的默认参数/函数的占位参数/函数重载/注意事项
- 函数的默认参数
返回值类型 函数名(参数=默认值){}
#include <iostream>
using namespace std;
int func(int a = 10, int b = 10)
{
return a + b;
}
int main()
{
int a = func(20,30);
cout << a << endl;
system("pause");
}
没有用默认值,有的话用输入值。
注意:
1. 如果某个位置参数有默认值,那么从这个位置往后,从左往右,都必须要有默认值
2. 如果函数声明有默认值,函数实现的时候就不能有默认参数。
- 函数的占位参数
#include <iostream>
using namespace std;
//占位参数
//返回值类型 函数名(数据类型){} <-没有变量名
//占位参数可以有默认参数
void func(int a, int = 10)
{
cout << "This is func" << endl;
}
int main()
{
func(10);
system("pause");
}
- 函数重载
函数重载满足条件:
·同一个作用域下
·函数名称相同
·函数【参数】的【类型不同】 或者 【个数不同】 或者 【顺序不同】
#include <iostream>
using namespace std;
//函数重载
//可以让函数名相同,提高复用性
//函数重载的满足条件
//1.同一个作用域下
//2.函数名称相同
//3.函数【参数】【类型】不同,或者【个数】不同,或者【顺序】不同
void func()
{
cout << "This is func" << endl;
}
void func(int a)
{
cout << "This is func22" << endl;
}
void func(double b)
{
cout << "This is func33" << endl;
}
int main()
{
func();
func(10);
func(2.0);
system("pause");
}
- 函数重载的注意事项
#include <iostream>
using namespace std;
//函数重载的注意事项
//1、引用作为重载的条件
void fun(int& a) //int& a = 10;
{
cout << "aaa" << endl;
}
void fun(const int& a) //const int& a = 10;
{
cout << "aaa22" << endl;
}
//2、 函数重载碰到默认参数
void func2(int a, int b = 10;)
{
cout << "bbb" << endl;
}
void func2(int a)
{
cout << "bbb" << endl;
}
int main()
{
// int a = 10;
// fun(a);
fun(10);
//func2(10); //函数重载碰到默认参数,可以被调入两种,有二义性,编译错误
system("pause");
}
【C/C++】函数的默认参数/函数的占位参数/函数重载/注意事项的更多相关文章
- python12--字符串的比较 函数的默认值的细节 三元表达式 函数对象 名称空间 作用域 列表与字典的推导式 四则运算 函数的嵌套
复习 1.字符串的比较; 2.函数的参数; ******实参与形参的分类: 3.函数的嵌套调用: # 字符串的比较# -- 按照从左往右比较每一个字符,通过字符对应的ascii进行比较 ...
- python学习Day12 函数的默认值、三元表达式、函数对象(函数名)的应用场景、名称空间与作用域
复习 1.字符串的比较: -- 按照从左往右比较每一个字符,通过字符对应的ascii进行比较 2. 函数的参数 : 1)实参与形参: -- 形参:在函数定义时()中出现的参数 ...
- c++——默认参数、函数占位参数
2 默认参数 /*1 C++中可以在函数声明时为参数提供一个默认值, 当函数调用时没有指定这个参数的值,编译器会自动用默认值代替 */ void myPrint(int x = 3) { printf ...
- C++对C语言的拓展(3)—— 默认参数和占位参数
通常情况下,函数在调用时,形参从实参那里取得值.对于多次调用同一函数同一 实参时,C++给出了更简单的处理办法.给形参以默认值,这样就不用从实参那里取值了. 1.单个默认参数 若填写参数,使用你填写的 ...
- C++中函数的默认参数
使用方法: (1)在函数声明或定义时,直接对参数赋值,该参数就是默认参数. (2)在函数调用时,省略部分或全部参数,这时就会使用默认参数进行代替. 注意事项: (1)一般在声明函数是设置默认参数. 如 ...
- C++默认参数与函数重载 注意事项
一.默认参数在C++中,可以为参数指定默认值.在函数调用时没有指定与形参相对应的实参时, 就自动使用默认参数. 默认参数的语法与使用:(1)在函数声明或定义时,直接对参数赋值.这就是默认参数:(2)在 ...
- [js高手之路] es6系列教程 - 函数的默认参数详解
在ES6之前,我们一般用短路表达式处理默认参数 function show( a, b ){ var a = a || 10; var b = b || 20; console.log( a, b ) ...
- 3.C++内联函数,默认参数,占位参数
本章主要内容: 1)内联函数(替代宏代码段) 2)默认参数 3)占位参数 1.C++的内联函数分析 1.1讲解内联函数之前,首先回忆下之前讲的define宏定义: 之前讲过宏定义会经过预处理器进行文本 ...
- C++对C的函数拓展 - 默认参数
1 C++中可以在函数声明时为参数提供一个默认值, 当函数调用时没有指定这个参数的值,编译器会自动用默认值代替 void myPrint(int x = 3) { printf("x:%d& ...
- const引用和函数占位参数遇上默认参数以及内联函数
1.const引用: 但是加上const之后是可以的,const int &a=100;就不会报错了. 2.函数占位参数: 如果给最后的占位参数加上默认值: 3.内联函数 内联只是对编译器发起 ...
随机推荐
- Roslyn 编译器Api妙用:动态生成类并实现接口
在上一篇文章中有讲到使用反射手写IL代码动态生成类并实现接口. 反射的妙用:C#通过反射动态生成类型继承接口并实现 有位网友推荐使用 Roslyn 去脚本化动态生成,今天这篇文章就主要讲怎么使用 Ro ...
- Spring中常用注解
1.@Component 创建类对象,相当于配置<bean/> 2.@Service @Service与@Component功能相同,写在ServiceImpl类上 3.@Reposito ...
- [loj3032]馕
(直接贪心会导致分子和分母过大) 令$S_{i}=\sum_{j=1}^{L}V_{i,j}$(即其独吞整个馕的快乐度),对第$i$个人求出$n$个位置$x_{1},x_{2},...,x_{n-1} ...
- [bzoj1735]泥泞的牧场
考虑木板一定都尽量长,对于每一个污泥,最多只有两种木板会覆盖它(横着和竖的),将这两块木板连边,意味着每一条边两端端点中一定有一个点要被选,即最小点覆盖=最大匹配数. 1 #include<bi ...
- [loj3046]语言
定义$S_{i}$表示第$i$条链所包含的点的集合,$(x,y)$合法当且仅当$x\ne y$且$\exists i,\{x,y\}\subseteq S_{i}$(答案即$\frac{合法点对数}{ ...
- OAuth 2.1 带来了哪些变化
OAuth 2.1 是 OAuth 2.0 的下一个版本, OAuth 2.1 根据最佳安全实践(BCP), 目前是第18个版本,对 OAuth 2.0 协议进行整合和精简, 移除不安全的授权流程, ...
- 状压DP详解+题目
介绍 状压dp其实就是将状态压缩成2进制来保存 其特征就是看起来有点像搜索,每个格子的状态只有1或0 ,是另一类非常典型的动态规划 举个例子:有一个大小为n*n的农田,我们可以在任意处种田,现在来描述 ...
- 9.3 k8s结合ELK实现日志收集
数据流: logfile -> filebeat > kafka(依赖zookeeper)-> logstash -> elasticsearch -> kibana 1 ...
- 快速入门上手Markdown
第一次接触Markdown是写代码初期看很多大佬的github,他们的项目一定会有一份文件叫Readme.md的文件 他们由一些简单美观的符号和汉字字母组成,编译之后成为一篇简单直观的文档 深入了解之 ...
- 【AGC板刷记录】
这个帖子,是在自己学知识点累了的时候就看看\(AGC\)的题目来休息. 而且白天上课可以做( AGC-001 \(A\ BBQ Easy\) 考虑从小到大排,相邻两个取为一对. BBQ Easy #i ...