当前位置: 首页 > 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.yayakq.cn/news/880678/

相关文章:

  • 网站建设的步骤有哪些网站开发交接
  • 网站开发与设计入门贵阳网络公司网站建设
  • node.js可以做网站么邯郸渊博网络有限公司
  • 做磁力解析网站小程序登录后台
  • 建设盗号网站的模块地方门户网站推广方法有那些
  • 导购网站建设需求模版如何利用网站赚钱
  • asp网站源码 怎么安装订阅号申请
  • 网站本身对网站打开速度有何影响无忧建站
  • 重庆最大的网站制作公司新网虚拟主机安装wordpress
  • idc 公司网站模板电商erp系统
  • 成都网站建设公司思乐科技建筑工程网格化管理实施方案
  • c2c网站网址制作网站团队
  • 做网站 多少钱外国人做中国英语视频网站吗
  • 绍兴做网站哪家好公众号开发费用
  • 别人怎么看见我做的网站gif动图素材网站
  • 企业网站托管外包方式自助建站系统免费模式
  • 纯静态做企业网站个人怎么样做网站
  • 可以上传软件的网站织梦手机网站模板删除不了
  • 做竞价的网站有利于优化吗wordpress 获取附件
  • 做外贸哪个网站比较好2017怎么建小说网站
  • 微站小程序罗湖网站 建设深圳信科
  • 展示型网站设计方案云浮网站建设公司
  • aspnet网站开发 视频wordpress虚拟储存
  • 佛山市网站建设分站哪家好区块链网站开发费用
  • 国际财经新闻最新头条广州17年seo优化技术电话
  • 机械设备东莞网站建设关于网站建设的简历
  • 微信网站开发软件福田网站设计方案
  • 响应式网站开发实例深圳网页制作服务商
  • 中天建设集团有限公司官网长沙快速排名优化
  • 用墨刀做视频网站权威数据统计网站