当前位置: 首页 > news >正文

网站各个阶段推广谷歌英文网站

网站各个阶段推广,谷歌英文网站,可以用自己的电脑做网站主机,院系网站建设目录 1.缺省参数 1.1缺省参数的概念 1.2缺省参数的分类 1.3缺省参数使用场景 2.函数重载 2.1函数重载的概念 2.2构成函数重载 1.缺省参数 1.1缺省参数的概念 概念:缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时,如果没…

目录

1.缺省参数

1.1缺省参数的概念

1.2缺省参数的分类

1.3缺省参数使用场景

2.函数重载

2.1函数重载的概念

2.2构成函数重载


1.缺省参数

1.1缺省参数的概念

概念:缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时,如果没有指定实参则采用该形参的缺省值,否则使用指定的实参

void Func(int a = 0)
{cout << a << endl;
}
int main()
{Func();   // 没有传参时,使用参数的默认值Func(10); // 传参时,使用指定的实参return 0;
}

解释:拿上面代码为例,形参a就是缺省参数,当我们给他传参时,a就是我们给的值,如果我们没有传参,它就是默认a为0

1.2缺省参数的分类

1.全缺省

void Func(int a = 10, int b = 20, int c = 30)
{cout << "a = " << a << endl;cout << "b = " << b << endl;cout << "c = " << c << endl;
}
int main()
{Func(1, 2, 3);Func(1, 2);Func(1);Func();return 0;
}

全缺省给参数传值的时候可以全传也可以部分传,可以看上面代码传参的写法 

2.半缺省

注意:半缺省参数是从右往左给的,不能从左往右给(因为从右往左没有歧义)

错误示例:

从左往右会有歧义,假如我们传1,2,我们想把2传给c,那1是给a还是b,就会产生歧义

void Func(int a = 10, int b = 20, int c)
{cout << "a = " << a << endl;cout << "b = " << b << endl;cout << "c = " << c << endl;
}
int main()
{Func(1, 2);return 0;
}

正确示例: 

void Func(int a, int b = 10, int c = 20)
{cout << "a = " << a << endl;cout << "b = " << b << endl;cout << "c = " << c << endl;
}
int main()
{Func(1, 2, 3);Func(1, 2);Func(1);return 0;
}

半缺省给参数传值的时候,缺省的地方可以不给值,但是没有缺省的地方不给值就会报错

1.3缺省参数使用场景

假如我们现在想实现两个栈,一个插入100个数据,另一个插入10个数据,这个时候我们就不能固定开辟了,因为开多了浪费,开少了不够,这个时候缺省参数就能解决这样的问题:

struct Stack
{int* a;int capacity;int size;
};
void Init(struct Stack* ps, int n = 4)
{ps->a = (int*)malloc(sizeof(int) * n);
}
int main()
{//要插入100个数据struct Stack st1;Init(&st1, 100);//要插入10个数据struct Stack st2;Init(&st2, 10);return 0;
}

 注:缺省参数要在声明的时候给,不能在定义的时候给

2.函数重载

2.1函数重载的概念

函数重载:是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这
些同名函数的形参列表(参数个数 或 类型 或 类型顺序)不同,常用来处理实现功能类似数据类型
不同的问题。

2.2构成函数重载

1.参数个数不同

void f()
{cout << "f()" << endl;
}
void f(int a)
{cout << "f(int a)" << endl;
}

2.参数类型不同

int Add(int left, int right)
{cout << "int Add(int left, int right)" << endl;return left + right;
}
double Add(double left, double right)
{cout << "double Add(double left, double right)" << endl;return left + right;
}

3.参数类型顺序不同

void f(int a, char b)
{cout << "f(int a,char b)" << endl;
}
void f(char b, int a)
{cout << "f(char b, int a)" << endl;
}

http://www.hyszgw.com/news/63858.html

相关文章:

  • 网站建设设计费用摊销年限51空间
  • 云南建设银行招聘网站怎样做博客网站
  • 搜索引擎友好网站表现织梦做不了视频网站
  • 百度网站收录查询沈阳自主建站模板
  • 自己做网站制作流程拓者设计
  • 南山区做网站公司成都网站制作定制
  • 网站 手机版 电脑版 怎么做的怎么把统计代码加到网站
  • 高端网站设计理念网站制作多少钱
  • 网站上传模板后网站还在建设中
  • 西安网站建设哪个好巨量引擎广告投放平台登录入口
  • dz网站模板 首页显示内容wordpress导入文件格式
  • 手机制作网站主页软件杭州seo技术
  • 网站设计公司列表吉林省城乡建设厅网站6
  • 网站怎么做六个页面wordpress企业站模板下载
  • 个人网站可以做淘宝客吗lol视频网站源码
  • 冷门行业做网站的优势网站开发在无形资产中
  • 企业营销网站的建设什么网站做一手房比较好
  • 淘宝首页网站怎么做html5手机网站开发视频教程
  • 做视频播放网站 赚钱广州天河区网站设计公司
  • 网站推广计划wordpress加cnzz
  • 江西专业的网站建设公司重庆企业型网站建设
  • 有什么好的设计网站99作文网官网
  • 重庆企业网站如何推广怎么注销网站备案
  • 菏泽网站设计培训怎么做二手房网站
  • 广府网站建设企业展厅制作
  • 如何知道一个网站是谁做的wordpress查询量过大
  • 四川省城乡住房建设厅网站网站关键词推广方案
  • 怎么做自己的淘宝网站wordpress友情联机
  • 班级网站建设首页报告益保网做推广网站吗?
  • 网站活动策划怎么做wordpress文件结构