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. 从0到1使用Kubernetes系列(七):网络

    本文是从 0 到 1 使用 Kubernetes 系列第七篇,上一篇<从 0 到 1 使用 Kubernetes 系列(六):数据持久化实战> 介绍了 Kubernetes 中的几种常用储 ...

  2. 问题 G: 心急的C小加

    题目描述 C小加有一些木棒,它们的长度和质量都已经知道,需要一个机器处理这些木棒,机器开启的时候需要耗费一个单位的时间,如果第i+1个木棒的重量和长度都大于等于第i个处理的木棒,那么将不会耗费时间,否 ...

  3. Python进阶(装饰器)

    from datetime import datetime def log(func):#func表示装饰器作用于的函数 def wrapper(*args,**kw):#wrapper返回装饰器作用 ...

  4. Spark面试题(七)——Spark程序开发调优

    Spark系列面试题 Spark面试题(一) Spark面试题(二) Spark面试题(三) Spark面试题(四) Spark面试题(五)--数据倾斜调优 Spark面试题(六)--Spark资源调 ...

  5. JDBC操作多张表一

    一.操作一对多情况开发步骤1创建对象 //代码部门的对象public class Department { private String id; private String name; privat ...

  6. [hdu6145]Arithmetic of Bomb II

    对于题中的"normal expression"(仅含加减乘和无前导0的非负整数,无括号)的计算,实际上并不需要通常的表达式求值,而可以用下述方式计算-- 维护三元组$(a,b,c ...

  7. [gym102978D]Do Use FFT

    前置知识 (以下内容并不严谨,可以参考论文<转置原理的简单介绍>) 对于一个算法,其为线性算法当且仅当仅包含以下操作: 1.$read\ i$,将$r_{i}$的值赋为(下一个)读入的元素 ...

  8. MySQL数据库之大厂面试必备技能v8.0.27

    概述 **本人博客网站 **IT小神 www.itxiaoshen.com 定义 MySQL官方地址 https://www.mysql.com/ MySQL 8系列最新版本为8.0.27,5系列的最 ...

  9. Python+selenium 之xpath定位

  10. Stupid && 祖传Fortran代码救赎之路(编译Dll)

    Stupid && 祖传Fortran代码救赎之路(编译Dll) gfortran编译动态库 在Windows平台下,Intel Fortran安装过于庞大且费事(现在集成到OneAP ...