目录
创建源文件是.cpp 文件,头文件不变,依旧是.h文件
-
包含头文件的方式
-
包含自己的头文件没有任何区别 #include "myHead.h"
-
包含库目录
-
C语言中的: 采用原来方式包含可以,可以用C++包含方式,去掉.h 加个c
-
iostream C++标准输入输出流的头文件
-
-
-
命名空间的引入
-
命名语法
-
//1.基本创建空间方法
namespace 空间名
{
int a;
void print(){}
}
//2.学会访问命名空间中的东西
//2.1 用空间名限定去访问
int main()
{
空间名::a=1001;
空间名::print();
return 0;
}
-
函数在命名空间里声明,在命名空间外定义
#include<iostream> using namespace std; namespace box { int a = 1; void test01();//命名空间中声明 } void box::test01() //命名空间外定义 { cout <<box:: a << endl; } int main() { box::test01(); system("pause"); return 0; }
-
可以增加标识符的使用率,C语言同一个作用域下不允许定义相同的标识符
-
作用域分辨符::
-
空间名限定,类名限定(后面讲)
-
用来标识全局变量
-
-
using语法 ,可以省略前缀的写法
using namespace 空间名; //就可以省略当前的空间名
//只在当前作用域下有效
空间名的嵌套与空间内容访问
namespace A
{
int aa=1;
namespace B
{
int bb=1;
}
}
A::B::bb=1001; //剥洋葱
using namespace A::B;
bb=1002;
命名空间中使用using 语法会出现二义性
#include<iostream>
using namespace std;
namespace box
{
int a = 1;
}
namespace tank
{
int a = 2;
}
int main()
{
//cout << a << endl; 出现二义性 不知道输出哪个a 要加作用域分辨符限定
cout << box::a << endl;
cout << tank::a << endl;
system("pause");
return 0;
}