1.命名空间
1.1 目的
解决c语言命名带来的冲突问题,在c语言中我们不能创建已有的函数名的变量名
1.2 命名空间定义
定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{} 中即为命名空间的成员
1. 正常的命名空间定义
2. 命名空间可以嵌
3. 同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中
比如:一个工程中的test.h和上面test.cpp中两个N1会被合并成一个,这两个可以看成一个命名空间
1.3 命名空间使用
命名空间的使用有三种方式:
1.加命名空间名称及作用域限定符
函数名变量的使用只能使用这种方法
2.使用using namespace 命名空间名称 引入
3.使用using将命名空间中某个成员引入
2.C++输入&输出
说明: 1. 使用cout标准输出对象(控制台)和cin标准输入对象(键盘)时,必须包含< iostream >头文件 以及按命名空间使用方法使用std。
2. cout和cin是全局的流对象,endl是特殊的C++符号,表示换行输出,他们都包含在包含< iostream >头文件中。
3.<<流插入运算符, >>是流提取运算符。
4.cout可以看作是c语言输出的黑框框,<< 是将后面的内容输入进去,end1是c语言中的换行符
3.缺省参数
1.缺省参数概念
缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时,如果没有指定实 参则采用该形参的缺省值,否则使用指定的实参。
2.缺省参数分类
1.全缺省参数
2.半缺省参数
注意:
1. 半缺省参数必须从右往左依次来给出,不能间隔着给
2.传参的话,只能从左到右
3. 缺省参数不能在函数声明和定义中同时出现
3.缺省参数不能在函数声明和定义中同时出现
一般情况下我们都是在text.h中给默认参数,text.c的定义中不给——这个解释有些复杂,感兴趣的小伙伴可以自己去查一查
4.函数重载
1.函数重载概念
1.函数重载:是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这 些同名函数的形参列表(参数个数 或 类型 或 类型顺序)不同,常用来处理实现功能类似数据类型 不同的问题。
2.如果两个函数函数名和参数是一样的,返回值不同是不构成重载的,因为调用时编译器没办 法区分。
2.函数重载的三种使用
1.参数类型不同
2.参数个数不同
3.参数类型顺序不同