1、命名空间namespace
2、namespace的关键点有两个:
(1)、解决全局变量还有函数名的冲突问题
(2)、如何访问另一个文件的命名空间
下面是test1.cpp
#include <iostream>
using namespace std;
/*******************命令空间定义*****************/
namespace test{
void func1(void)
{
cout<< "in test namespace" << endl;
}
}
/*******************本文件命令空间的引用**********/
//using namespace test; //第二种访问的方式
// using test::func1; //第三种访问的方式
/*******************外部文件命令空间的定义**********/
//using namespace test2; //no
//using extern namespace test2; //no
namespace test2{extern void func2(void);}; // 编译器认为可以
/*******************外部文件命令空间的引用**********/
//using test2::func2; //yes
using namespace test2; //yes
/*******************主程序************************/
int main(void)
{
// cout<< "hello" << endl; //测试使用不需要管
// test::func1(); //第一种访问的方式(ok)
// func1();
func2();
// func3(); //如果在外部文件命令的定义没有定义的时候,不能使用
return 0;
}
另外一个文件是test2.cpp
#include <iostream>
using namespace std;
namespace test2{
void func2(void)
{
cout<< "in the extern test2.cpp"<< endl;
}
void fun3(void)
{
cout << "test using namespace test2"<< endl;
}
}