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

龙华网站建设销售员郑州最新通告

龙华网站建设销售员,郑州最新通告,上海网站建设哪家专业,自己怎么做彩票网站吗文章目录 一、C的输入与输出二、函数的缺省参数三、函数重载 一、C的输入与输出 这一部分知识涉及到后面C的类和对象的概念&#xff0c;这里我们只能简单理解&#xff1a; <iostream>是Input Output Stream的缩写&#xff0c;是标准的输入输出流库&#xff0c;定义了标…

今天败犬女主第二季制作决定宣发!开心!

文章目录

  • 一、C++的输入与输出
  • 二、函数的缺省参数
  • 三、函数重载

一、C++的输入与输出

这一部分知识涉及到后面C++的类和对象的概念,这里我们只能简单理解:

  • <iostream>是Input Output Stream的缩写,是标准的输入输出流库,定义了标准的输入、输出对象。
  • std::cin是istream类的对象,主要面对窄字符的标准输入流。
  • std::cout是ostream类的对象,主要面对窄字符的标准输出流。
  • std::endl是一个函数,流输入输出时,相当于插入一个换行字符(\n),刷新缓冲区。
  • <<是流插入运算符,>>是流提取运算符(同时也是运算左移/右移)。
  • 使用C++进行输入输出时,不需要像printf和scanf那样手动指定格式,C++的输入输出可以自己识别变量类型(本质是通过函数重载实现的)。C++的流能更好地支持自定义类型对象的输入输出。
  • cout、cin、endl等都属于C++标准库,C++标准库都放在一个叫std的命名空间中,所以我们要通过命名空间的使用方式去使用它们。一般的练习中我们可以直接using namespace std;实际项目开发中不建议。
  • 下面我们没有包含头文件stdio也可以使用printf和scanf,因为它们在iostream中间接包含了。VS系列编译器是这样的,其他编译器可能不支持会报错。

直接来看一般使用实例:

#include<iostream>using namespace std;int main()
{int a = 1;char c = 'B';cout << "一、" << a + 2 << " " << c << endl;//endl会自己换行//或: std::cout << "一、" << a + 2 << " " << c << std::endl;return 0;
}

在这里插入图片描述

#include<iostream>using namespace std;int main()
{int a, b;char c;//能自动识别变量类型cin >> a;cin >> b;cin >> c;//cin >> a >> b >> c;等效cout << a << ' ' << b << ' ' << c << endl;return 0;
}

在这里插入图片描述

现在能看懂理解就好,之后我们会深入学习C++的类和对象。

在这里插入图片描述

二、函数的缺省参数

缺省参数是声明或定义函数时为函数的参数指定一个缺省值在调用该函数时,如果我们没有给函数传实参,则函数的形参直接采用这个缺省值,有实参则优先采用实参值。缺省参数分为全缺省和半缺省(有些地方也把缺省参数叫做默认参数)。但是,当函数的声明和定义不再一个文件中时,缺省参数值就不能在声明和定义中同时出现了,规定必须在函数声明中给定缺省值。

比如:

//head.h中:
#include<iostream>
using namespace std; 
int Add(int x = 10, int y = 20); //10和20就是缺省值//head.cpp中:
#include"head.h"
int Add(int x, int y)
{return x + y;
}//test.cpp中:
#include"head.h"
int main()
{int a = Add(); //没有给函数Add传实参,则Add的形参值采用缺省值10、20cout << a <<endl; //a的值应为30return 0;
}

在这里插入图片描述

缺省参数分为全缺省和半缺省:
全缺省就是所有形参都给缺省值,半缺省就是部分形参给缺省值。C++规定半缺省参数必须从右往左依次连续给缺省值,不能间隔跳跃或从左到右给缺省值。
例如:
void Fun1(int a = 1, int b = 2, char c = 'A');是全缺省
void Fun2(int a, int b = 2, char c = 'A');void Fun3(int a, int b, char c = 'A');是半缺省
void Fun4(int a = 1, int b = 2, char c);void Fun5(int a, int b = 2, char c);是错误的

而带缺省参数的函数的调用时,C++规定必须从左到右依次给实参,不能跳跃给实参。
例如:
声明定义好上面的Fun1后,
调用时我们可以不传实参Fun1();,函数内部三个形参就用它们的缺省值;
也可以只传一个参数如Fun1(6);,这意味着函数内部变量a的值采用6,b和c仍采用缺省值;
也可以传两个参数如Fun1(6, 8);,函数内部变量a的值采用6,b的值采用8,c采用缺省值"A";也可以传三个参数如Fun1(6, 8, 'P');,三个变量就采用传的三个值;
如果你尝试了Fun1('B');,会发现a的值变成了66(B的ASCII值),b和c仍采用缺省值。这就是因为给实参是从左往右依次的。
看看实例:

//head.h中:
void Fun1(int a = 1, int b = 2, char c = 'A');//head.cpp中:
void Fun1(int a, int b, char c)
{//打印abccout << a << ' ' << b << ' ' << c << endl;
}//test.cpp中:
Fun1();
Fun1(6);
Fun1(6, 8);
Fun1(6, 8, 'P');
Fun1('B');

结果符合我们的预期
在这里插入图片描述

在这里插入图片描述

三、函数重载

C语言是不支持在同一域中出现同名函数。C++支持在同一作用域中出现同名函数,但要求这些同名函数的形参不同:可以是形参类型不同,也可以是形参个数不同,也可以是形参类型顺序不同,亦或三者兼有。这样C++的函数调用就表现出了多态行为,使用更加灵活。这样的同名函数就叫构成了函数重载。

但是!同名函数的返回类型不同并不是区别它们的依据。如果同名函数的返回类型不同,即使它们的形参不同,也会编译报错。

而在调用同名函数时,使用者的传参一定要符合某一个函数的形参定义,C++会根据你的实参判断调用哪个函数的。

//形参类型不同的同名函数:
int Add(int x, int y);
double Add(double x, double y);//形参个数不同的同名函数:
void Fun(int a);
void Fun(int a, int b);//形参顺序不同的同名函数:
void Fun1(int a, char c);
void Fun1(char c, int a);//三者兼有(其实就是形参压根完全不一样):
void Fun2(int a, char c, int* b);
void Fun2(struct ListNode* d, double e);//这两个同名函数不能构成函数重载:
//void Fun3(int a);
//int Fun3(int a);

但是,还存在一种特殊情况:当同名函数中一个函数又有了缺省参数,如

void Fun();
void Fun(int a = 2);

假如调用Fun(),既可以理解成不传参调用第一个Fun函数,也可以理解成不传参调用第二个Fun函数,a采用缺省值2。因此存在歧义,编译器也不理解到底调用哪个函数,就会报错:

在这里插入图片描述

在这里插入图片描述

本篇完,感谢阅读

http://www.dtcms.com/wzjs/441594.html

相关文章:

  • 注册一个设计公司需要多少钱福州seo推广优化
  • 营销网站建设维护百度seo优化排名软件
  • 网站建设捌金手指花总十九百度sem是什么意思
  • 北京h5网站建设公司太原免费网站建站模板
  • wordpress主题防盗版seo智能优化公司
  • 蓝色机械营销型网站商品seo关键词优化
  • 网站开发按前端后端分解优秀的品牌策划案例
  • 北京房产网最新楼盘珠海百度关键字优化
  • 做彩票网站需要境外实事新闻热点
  • 网站建设企业推荐今日新闻最新10条
  • 系统开发北京网站建设搜索引擎最新排名
  • 一起做网店类似网站关键词免费
  • 快速搭建房屋seo实战
  • 湛江网站制作推荐百度seo排名查询
  • 石龙网站开发全网关键词云在哪里看
  • 自己怎么做百度网站百度系app
  • 做网站需要多久杭州seo代理公司
  • 哈尔滨网站建设效果好网站关键词优化教程
  • 邪恶东做图网站茶叶推广软文
  • 网站设计网站制作手机一键优化
  • 销售网站建设怎么做seo公司软件
  • 制作简单网页教程武汉seo关键词排名
  • 素材网站怎么做关键词优化简易
  • 安阳交友网站开发公司厦门关键词排名seo
  • 做百度网站费用整合营销传播最基础的形式是
  • 厦门网站建设制作工具百度人气榜
  • 网站收录查询入口网站应该如何推广
  • 网站建设相关法律网站域名查询ip
  • 正式做网站站点怎么新建企业宣传推广怎么做
  • 如何用discuz做网站无线网络优化是做什么的