57 lines
913 B
C++
57 lines
913 B
C++
|
// 命名空间
|
||
|
#include <iostream>
|
||
|
using namespace std;
|
||
|
|
||
|
namespace A
|
||
|
{
|
||
|
// 声明变量成员,可以指定初始化
|
||
|
int x = 10;
|
||
|
}
|
||
|
|
||
|
namespace B
|
||
|
{
|
||
|
int x = 20;
|
||
|
}
|
||
|
|
||
|
namespace C
|
||
|
{
|
||
|
// 命名空间的嵌套
|
||
|
namespace AA
|
||
|
{
|
||
|
int x = 100;
|
||
|
}
|
||
|
namespace BB
|
||
|
{
|
||
|
int x = 200;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
namespace D
|
||
|
{
|
||
|
int x = 1;
|
||
|
void show_x() // 定义函数
|
||
|
{
|
||
|
cout << "D namespace x: " << x << endl;
|
||
|
}
|
||
|
int add(int y); // 声明函数
|
||
|
}
|
||
|
|
||
|
int D::add(int y)
|
||
|
{
|
||
|
// 可以返回当前命名空间的所有成员
|
||
|
return x + y;
|
||
|
}
|
||
|
|
||
|
int main()
|
||
|
{
|
||
|
cout << "A x = " << A::x << endl;
|
||
|
cout << "B x = " << B::x << endl;
|
||
|
cout << "C-AA x = " << C::AA::x << endl;
|
||
|
cout << "C-BB x = " << C::BB::x << endl;
|
||
|
// 调用 D 的 show_x() 函数
|
||
|
D::show_x();
|
||
|
// 调用 D 的 add(int) 函数
|
||
|
cout << "D::add(100) = " << D::add(100) << endl;
|
||
|
|
||
|
return 0;
|
||
|
}
|