注:本文代码使用Qt Creator 4.12.2 编写 编译
一、如何自定义一个命名空间
自定义一个命名空间:
namespace 自定义命名空间的名字
{
}
附示例代码:
/*
通过这个命名空间计算一个圆的周长和面积
半径:radius
圆周率:PI
周长计算函数:GetnamepacePerimeter(double radius);
面积计算函数:GetnamepacecAreage(double radius);
*/
namespace Circle
{
double PI = 3.1415926; //圆周率
//计算圆周长
double GetnamepacePerimeter(double radius)
{
return 2 * PI * radius;
}
//计算圆面积
double GetnamepaceAreage(double radius)
{
return PI * radius * radius;
}
}
二、如何访问一个命名空间
【1】访问方式一:
(1)在mian函数之前
using namespace 自定义命名空间的名字;
(2)调用命名空间中的内容
直接使用命名空间中的内容
using namespace 自定义命名空间的名字;
int main()
{
直接访问命名空间中的内容;
}
附代码示例:
int main()
{
double radius = 9.0; //圆的半径
printf("radius:%lf,circumference:%lf,area of circle:%lf",radius,GetnamepacePerimeter(radius),GetnamepaceAreage(radius));
return 0;
}
【2】访问方式二:
直接使用 ::
命名空间名字 :: 命名空间中的内容
Circle :: PI;
附代码示例:
int main()
{
double radius = 9.0; //圆的半径
printf("radius:%lf,circumference:%lf,area of circle:%lf",radius,Circle::GetnamepacePerimeter(radius),Circle::GetnamepaceAreage(radius));
return 0;
}
注:
【1】std 是C++标准库的命名空间
【2】C和C++可以混着写
【3】单冒号(:)用于初始化列表(在构造函数的成员初始化列表使用);
双冒号(::)用于访问命名空间、类、结构体、枚举等的成员变量,以及解释作用域。