//至今没有解决的一个问题, 如a.cpp中有一个命名空间ming, 现在b.cpp想要使用这个命名空间, 或者使用该空间中的某一个类/普通函数/变量, 至今不知道怎么解决
//下面的方法是一种通用的正确方法
//自定义命名空间ming, 可以写在头文件中
namespace ming
{
void fun(){};
int num = 123;
class myclass
{
public:
void fun2(){};
int num2;
};
};
//程序中正确使用命名空间的4个方法, 如果命名空间的声明是写在头文件中, 需要#include该头文件!!!
using namespace ming; //正确, ming命名空间中的所有东西都可以直接使用
using ming::num; //正确, num是变量, 下面只能直接使用num变量
using ming::fun; //正确, fun是函数, 下面只能直接使用fun()函数
using ming::myclass; //正确, myclass是类, 下面只能直接使用myclass类
//错误使用:
using ming::myclass::fun2(); //错误, 意图使用类中成员函数
using ming::myclass.fun2(); //错误, 意图使用类中成员函数
using ming::myclass::num2; //错误, 意图使用类中成员变量
using ming::myclass.num2; //错误, 意图使用类中成员变量
//实际程序中4中正确使用
//第1个办法
using namespace ming; //正确, ming命名空间中的所有东西都可以直接使用
myclass a;
a.fun2();
a.num2 = 222;
fun();
num++; //因为一开始就赋值为123了
//第2个办法
using ming::num; //正确, num是变量, 下面只能直接使用num变量
num++; //可以直接使用num
ming::myclass a; //要加ming前缀来使用myclass类
ming::fun(); //要加ming前缀来使用fun()函数
//第3个办法
using ming::fun; //正确, fun是函数, 下面只能直接使用fun()函数
fun(); //直接使用fun()函数
ming::myclass a; //要加ming前缀来使用myclass类
ming::num++; //要加ming前缀来使用num变量
//第4个办法
using ming::myclass; //正确, myclass是类, 下面只能直接使用myclass类
myclass a; //可以直接使用myclass类
ming::num++; //要加ming前缀来使用num变量
ming::fun(); //要加ming前缀来使用fun()函数
//至今没有解决的一个问题, 如a.cpp中有一个命名空间ming, 现在b.cp