一个困扰我很久的问题

//A.h
#include <iostream> using namespace std; namespace A { class NA { public: void fun1(); }; }
//A.cpp
#include "A.h" namespace A { void NA::fun1() { cout << "namespace A" << endl; } }
#include "A.h"//包含头文件是因为需要使用的类是在这个头文件中声明的
int main()
{
    A::NA na;//同时这个类也是定义在A这个命名空间中,需要使用的时候必须指定命名空间
    na.fun1();
    getchar();
}

//之前一直不懂这样的方式
/*
#include <iostream>//相关的类的声明在iostream中
using namespace std;//这样将命名空间直接开放,可以直接指定using std::cin;表示使用std中的cin,后面就不用每次都std::cin了
int main()
{
    std::cout << "hhh" << std::endl;//cout和endl是在std中定义的,这个就是命名空间的用处,防止名字和库里的冲突
    return 0;
}
*/

现在了解了许多

原文地址:https://www.cnblogs.com/zzyoucan/p/3803936.html