函数提高

函数的默认参数

如果声明中有默认函数,那实现中就不能有默认参数

int Sum(int a = 10, int b = 20);    //声明

int Sum(int a,int b)    //实现
{
    return a + b;
}

cout << Sum() << endl;
cout << Sum(3,4) << endl;

函数的占位参数

void func(int a, int);
void func(int a, int = 10);

函数重载

  1. 函数名相同,提高复用性
  2. 参数类型、个数、顺序 不同
  3. 函数返回值不可以作为函数重载的条件
  4. 同一个作用域
void func(int a);
void func(int a, int b);

引用作为重载的条件

void func(int &a);  //变量传入 走这个
int a = 10;
func(a);    //变量传入

void func(const int &a);    
func(10);   
//const int &a = 10; 合法,加const 相当于创建了一个临时变量,把10赋给他,让a指向这个临时的空间
//int &a = 10; 不合法

函数重载碰到默认参数

void func(int a);

void func(int a, int b = 10);

//语法是通过的

func(10);
//实际上存在二义性,无法进行调用

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言回顾 1.容器型数据类型:列表、元组、字典、集合 列表: [元素1,元素2,...]可变、有序增删改查、+、*...
    不语sun阅读 1,346评论 0 0
  • 一、匿名函数 1.什么是匿名函数 匿名函数还是函数,只是声明的格式和普通函数不一样。只适用于函数功能比较简单的函数...
    星龙断月阅读 1,261评论 0 0
  • 因为近期工作中被EXCLE表格的使用虐得不行,所以利用了周末的时间恶补相关的知识,整理了三种大概率能得上的函数,也...
    哈普尼思阅读 4,938评论 1 8
  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 8,087评论 2 9
  • 一、作业 1. 编写函数,求1+2+3+…N的和 2. 编写一个函数,求多个数中的最大值 4. 编写一个函数,交换...
    火星人_ef5b阅读 1,612评论 0 0

友情链接更多精彩内容