ExampleTwelvea.cpp
上传用户:skywee
上传日期:2021-12-09
资源大小:141k
文件大小:1k
源码类别:

文件格式

开发平台:

C/C++

  1. //自定义一个名字空间NS1,对自定义名字空间成员的
  2. //定义类似于全局名字空间的成员定义
  3. namespace NS1
  4. {
  5. int i;
  6. }
  7. //名字空间可以分多处定义,此处在名字空间NS1中添加新的定义
  8. namespace NS1
  9. {
  10. //在名字空间中可以定义类型、变量、函数等,如果定义变量
  11. //该变量的的实例化时机可以认为等同于全局变量
  12. int j;
  13. //在同一名字空间中不可以有重复的定义,但是在不同的名字空间
  14. //可以,比如在a.cpp中有全局名字空间的类型CA的定义,在名字空间
  15. //NS1照样可以定义
  16. class CA
  17. {
  18. public:
  19. CA();
  20. };
  21. }
  22. //对名字空间内部的成员的使用,
  23. //应该遵循要么引入名字空间,要么用名字空间加作用域解析符的方式
  24. NS1::CA::CA()
  25. {}
  26. using namespace NS1;
  27. //引入多个名字空间,则要注意避免名字冲突的问题
  28. namespace NS2
  29. {
  30. int j=2;
  31. }
  32. using namespace NS2;
  33. int main(void) 
  34. {
  35. i=9; //i的使用没问题
  36. //j=3; //j的使用导致了名字冲突
  37. //NS1::i=9; //对于上一句的情况,只能采用作用域解析符的方式
  38. //NS1::j=10;
  39. return 0;
  40. }