一个困扰我很久的问题
//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; } */
现在了解了许多