标签:
#ifndef TEST_H_ #define TEST_H_ namespace ThinkingInCppDemoLib // 这个就是一个名称空间,ThinkingInCppDemoLib这个是名称空间的名字, // 在这里使用名称空间,为了避免在其它的人编写时使用相同的类 class f 类, { class t // 这个类在名称空间里,这个地方也可以是全局函数\变量名称、全局类名、全局结构名\枚举名\联合名。 { private: int c; public: t(int cc); ~t(); }; t::t(int cc) : c(cc) { std::cout << "xiao cui ai ni. " << std::endl; } t::~t() { } } #endif
# include <iostream> # include "test.h" using namespace std; //using namespace ThinkingInCppDemoLib; //这个是using 指令,将ThinkingInCppDemoLib 名称空间里的所有的都导入到此文件里, //using ThinkingInCppDemoLib::t; // 这个是using 声明,只是将f 类导入到此文件里边, //namespace BST = ThinkingInCppDemoLib; // 这个就是讲ThinkingInCppDemoLib 起了一个别名,在使用ThinkingInCppDemoLib 就可以用BST 代替, int m = 0; // 这个是外部的,等于 extern int m = 0,外部的这里定义的是一个全局变量,所有的源代码都可以使用,在使用的时候要声明, static int n; // 静态的在当前的文件里边可以使用, int mm = 90; // 这个是全局名称空间,没有名称,用四个点就可以调用用在主函数中, void f() // 这个是外部的,是一个全局的, { static int a; } static void g() { } int main() { ThinkingInCppDemoLib::t b(6); // 这个就是完全限定名称, int mm = 9; cout << ++mm << endl; // 输出是10, cout << ::mm << endl; // 输出的是90,这个就是调用全局名称空间里的mm = 90. return 0; }
标签:
原文地址:http://blog.csdn.net/qq_31248551/article/details/51347456