1. 函数的默认参数

    返回值类型 函数名(参数=默认值){}
#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. 如果函数声明有默认值,函数实现的时候就不能有默认参数。
  1. 函数的占位参数
#include <iostream>
using namespace std; //占位参数
//返回值类型 函数名(数据类型){} <-没有变量名 //占位参数可以有默认参数
void func(int a, int = 10)
{
cout << "This is func" << endl;
} int main()
{
func(10);
system("pause");
}
  1. 函数重载

    函数重载满足条件:

    ·同一个作用域下

    ·函数名称相同

    ·函数【参数】的【类型不同】 或者 【个数不同】 或者 【顺序不同】
#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");
}
  1. 函数重载的注意事项
#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++】函数的默认参数/函数的占位参数/函数重载/注意事项的更多相关文章

  1. python12--字符串的比较 函数的默认值的细节 三元表达式 函数对象 名称空间 作用域 列表与字典的推导式 四则运算 函数的嵌套

     复习   1.字符串的比较; 2.函数的参数; ******实参与形参的分类: 3.函数的嵌套调用:     # 字符串的比较#  -- 按照从左往右比较每一个字符,通过字符对应的ascii进行比较 ...

  2. python学习Day12 函数的默认值、三元表达式、函数对象(函数名)的应用场景、名称空间与作用域

    复习 1.字符串的比较: -- 按照从左往右比较每一个字符,通过字符对应的ascii进行比较 2. 函数的参数 : 1)实参与形参:       -- 形参:在函数定义时()中出现的参数       ...

  3. c++——默认参数、函数占位参数

    2 默认参数 /*1 C++中可以在函数声明时为参数提供一个默认值, 当函数调用时没有指定这个参数的值,编译器会自动用默认值代替 */ void myPrint(int x = 3) { printf ...

  4. C++对C语言的拓展(3)—— 默认参数和占位参数

    通常情况下,函数在调用时,形参从实参那里取得值.对于多次调用同一函数同一 实参时,C++给出了更简单的处理办法.给形参以默认值,这样就不用从实参那里取值了. 1.单个默认参数 若填写参数,使用你填写的 ...

  5. C++中函数的默认参数

    使用方法: (1)在函数声明或定义时,直接对参数赋值,该参数就是默认参数. (2)在函数调用时,省略部分或全部参数,这时就会使用默认参数进行代替. 注意事项: (1)一般在声明函数是设置默认参数. 如 ...

  6. C++默认参数与函数重载 注意事项

    一.默认参数在C++中,可以为参数指定默认值.在函数调用时没有指定与形参相对应的实参时, 就自动使用默认参数. 默认参数的语法与使用:(1)在函数声明或定义时,直接对参数赋值.这就是默认参数:(2)在 ...

  7. [js高手之路] es6系列教程 - 函数的默认参数详解

    在ES6之前,我们一般用短路表达式处理默认参数 function show( a, b ){ var a = a || 10; var b = b || 20; console.log( a, b ) ...

  8. 3.C++内联函数,默认参数,占位参数

    本章主要内容: 1)内联函数(替代宏代码段) 2)默认参数 3)占位参数 1.C++的内联函数分析 1.1讲解内联函数之前,首先回忆下之前讲的define宏定义: 之前讲过宏定义会经过预处理器进行文本 ...

  9. C++对C的函数拓展 - 默认参数

    1 C++中可以在函数声明时为参数提供一个默认值, 当函数调用时没有指定这个参数的值,编译器会自动用默认值代替 void myPrint(int x = 3) { printf("x:%d& ...

  10. const引用和函数占位参数遇上默认参数以及内联函数

    1.const引用: 但是加上const之后是可以的,const int &a=100;就不会报错了. 2.函数占位参数: 如果给最后的占位参数加上默认值: 3.内联函数 内联只是对编译器发起 ...

随机推荐

  1. 关于Thread的interrupt

    关于Thread的interrupt Thread的interrupt方法会引发线程中断. 主要有以下几个作用: 如Object的wait方法,Thread的sleep等等这些能够抛出Interrup ...

  2. 微信小程序(三)开发框架

    基本构成: 数据绑定: 例: <!--index.hxml--> <view> <text data-name="{{theName}}">&l ...

  3. JVM-学习笔记持续更新

    1.Java虚拟机的基本结构 (1)类加载子系统与方法区: 类加载子系统负责从文件系统或者网络中加载Class信息,加载的类信息存放在一块称为方法区的内存空间.除了类的信息外,方法区中可能还会存放运行 ...

  4. [hdu7034]Array

    令$f(a)_{i}=\min_{i<j\le n,a_{i}=a_{j}}j$​​(特别的,若不存在$j$​​则令$f(a)_{i}=n+1$​​),则有以下性质: 1.对于$b_{i}$​​ ...

  5. 一文理解Java-class字节码文件

    前言 java语言在其刚诞生之际喊出的口号--"Write Once,Run Anywhere",正是基于字节码(byte code)而存在的,java能够做到平台无关性,得力于这 ...

  6. android测试之monkey测试

    1.首先安装SDK包 2.配置环境变量 3.打开CMD命令窗口,查看是否安装成功 命令:adb version 4.要做monkey测试的安卓包名,获取方式如下(必须启动要获取报名的app) 1.ad ...

  7. npm 配置 registry 以及使用 nrm

    由于众所周知的原因,我们的内网链接互联网时非常不稳定,速度慢而且经常下载失败.为了提高下载安装 npm 包的体验,很多人都会把 npm 的 registry 配置成国内镜像,我们一般用的比较多的就是淘 ...

  8. [源码解析] PyTorch 分布式 Autograd (3) ---- 上下文相关

    [源码解析] PyTorch 分布式 Autograd (3) ---- 上下文相关 0x00 摘要 我们已经知道 dist.autograd 如何发送和接受消息,本文再来看看如何其他支撑部分,就是如 ...

  9. [ARC 122]

    最近状态差到爆炸. \(AT\)连掉两把分,啥时候能上黄啊. \(A\) 考虑直接动归. 把\(O(n^2)\)的动归后缀和优化成\(O(n)\) A #include<iostream> ...

  10. 洛谷 P5502 - [JSOI2015]最大公约数(区间 gcd 的性质+分治)

    洛谷题面传送门 学校模拟赛的某道题让我联想到了这道题-- 先讲一下我的野鸡做法. 首先考虑分治,对于左右端点都在 \([L,R]\) 中的区间我们将其分成三类:完全包含于 \([L,mid]\) 的区 ...