名称空间

来源:互联网 发布:高校综合数据分析平台 编辑:程序博客网 时间:2024/04/28 04:38
#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;}

0 0