C++学习日记15——命名空间
学习视频链接
一、使用命名空间的方式
1.1 方式1
注意 引入命名空间不能在头文件中,防止污染其他的环境
1.2 方式2
二、创建命名空间
2.1 单文件
#include <iostream>
using namespace std;
namespace Number_Func
{
int add(int a, int b)
{
return a + b;
}
}
int add(int a, int b)
{
return a + b + 1;
}
int main()
{
int a = 3, b = 4;
cout << add(a, b) << endl;
cout << Number_Func::add(a, b) << endl;
return 0;
}
2.2 多文件
number.h
number.cpp
point.h
point.cpp
main.cpp
#include <iostream>
#include "point.h"
#include "number.h"
int main()
{
Math_Func::Number n1;
Math_Func::Number n2(1.3);
n1.info_number();
n2.info_number();
Math_Func::Point p1;
Math_Func::Point p2(1.3, 2.3);
p1.info_point();
p2.info_point();
return 0;
}
多文件要注意普通函数(不在类内)需要在头文件中声明,在 cpp 文件中实现
三、默认全局命名空间
使用 :: 表示使用全局的命名空间,反映到下面函数就是使用命名空间外的 add 函数,否则使用命名空间内的 add
#include <iostream>
using namespace std;
int add(int a, int b)
{
return a + b + 1;
}
namespace Number_Func
{
int add(int a, int b)
{
return a + b;
}
int add2(int a, int b)
{
return ::add(a, b) + 1;
}
}
int main()
{
int a = 3, b = 4;
cout << add(a, b) << endl;
cout << Number_Func::add(a, b) << endl;
cout << Number_Func::add2(a, b) << endl;
return 0;
}
四、using 的用法
4.1 局部引入命名空间
4.2 只引入命名空间中的类
五、嵌套命名空间和别名
5.1 嵌套命名空间
#include <iostream>
int add(int a, int b)
{
return a + b + 1;
}
namespace Number_Func
{
int add(int a, int b)
{
return a + b;
}
int add2(int a, int b)
{
return ::add(a, b) + 1;
}
namespace Next_Number
{
int add(int a, int b)
{
return a + b + 10;
}
}
}
int main()
{
int a = 3, b = 4;
{
using namespace Number_Func;
using namespace std;
cout << ::add(a, b) << endl;
cout << Number_Func::add(a, b) << endl;
cout << Number_Func::add2(a, b) << endl;
}
{
using namespace std;
cout << Number_Func::Next_Number::add(a, b) << endl;
}
return 0;
}
5.2 别名
上一篇:
通过多线程提高代码的执行效率例子
下一篇:
java分转元,元转分的方法
