1.namespace关键字:
namespace关键字是用于生成一个命名空间,这个空间中可以定义变量,函数,通过这个关键字,可以解决函数在文件展开的时候会因为引用头文件中有相同的变量名而导致的报错;
举例验证:你在main函数外定义一个rand这个变量,然后去运行,就会产生重定义报错。
如何使用这个命名空间呢?
首选你需要给上
namespace kai {
int i = 1;
}
这样的一个代码,需要注意的是,不需要在}后面加“;”,但是,如果只是这么定义,那么你还是无法使用这个空间中的i。
那该如何使用呢?
有两种方式:1.在main函数前加using namespace kai;这样是可以使用全部的;
2.如果只是想使用其中的部分则需要加上的是using kai::i;
小补充:1.c++标准库(后续输入输出)相关函数都放在一个叫std的命名空间中
2.定义相同名字的命名空间编译器会自动帮助我们进行合并
2.输入与输出(已经using namespcae std)
1.首先需要添加头文件 <iostream>(注意,可以不用加.h)
2.1输出
2.1.1首先介绍与printf有何不同,这个输出可以自动处理类型,解决了printf需要各种设置%s%d的麻烦行为。例如:
2.1.2使用:
正如上图所示就是使用cout<<(这里是要输出的东西), 后面的<<endl实际上就是输出了一个空格。
2.2输入:
2.2.1这里在输入字符的时候,不再需要加上&,如果加上的话是会报错的
2.2.2运用:
(值得注意的是,iostream包含后不使用stdio.h也是可以使用printf和scanf的)
3.缺省参数
c++支持缺省参数的使用(只分为全缺省和半缺省)
就是可以给函数预先设定一些初始值
例如:
int add(int a, int b = 1) {
return a + b;
}
但是需要注意的是,给半缺省的时候,只能从右往左给,但是在调用的时候,不给参数的话只能从左向右给,不能出现这种(a=1,b,c=1)(a=1,b,c)均是有问题的。例子如下:
4.函数重载,c++支持函数重载,也就是同名函数可以多次定义,但是要注意的是定义的同名函数需要参数不同(个数,类型),不能是返回值类型不同。例子如下: