QT乱翻书-命名空间

跳转到大纲

 

QT乱翻书-命名空间

  1 #include <iostream>
  2 
  3 using namespace std;
  4 
  5 /*
  6 ::作用域运算符
  7 1、访问全局变量  ::a
  8 2、命名空间 namespace 本质就是符号常量、变量、函数、结构、枚举
  9 类和对象等等。命名空间只能定义在全局
 10 3、命名空间可以嵌套
 11 4、可以随时将新的成员加入命名空间
 12 5、函数声明和实现分离
 13 6、无名命名空间相当于static ,本源文件内使用
 14 7、命名空间取别名
 15 8、使用using申明命名空间中的某几个成员可用
 16 9、声明整个命名空间可用
 17 */
 18 int a = 10;
 19 void test01()
 20 {
 21     int a = 20;
 22     cout << "局部变量a = " << a << endl;
 23     cout << "全局变量a = " << ::a << endl;
 24 }
 25 
 26 //创建命名空间
 27 //命名空间只能定义在全局
 28 namespace A
 29 {
 30     int data = 20;
 31     namespace C
 32     {
 33         int data = 60;
 34     }
 35 
 36 }
 37 namespace B
 38 {
 39     int data = 40;
 40 }
 41 
 42 namespace B
 43 {
 44     int date2  = 80;
 45 }
 46 
 47 namespace D
 48 {
 49     void fun01();
 50     void fun02();
 51 
 52 }
 53 
 54 
 55 void D::fun01()
 56 {
 57     cout << "D::fun01" << endl;
 58 }
 59 
 60 void D::fun02()
 61 {
 62     cout << "D::fun02" << endl;
 63 }
 64 namespace
 65 {
 66     int num = 100;
 67 }
 68 
 69 namespace veryLongName
 70 {
 71     int va = 100;
 72     int vb = 200;
 73 }
 74 
 75 namespace sn = veryLongName ;
 76 
 77 void test02()
 78 {
 79     cout << "A::data=" << A::data << endl;
 80     cout << "B::data=" << B::data << endl;
 81     cout << "A::C::data=" << A::C::data << endl;
 82     cout << "B::data2=" << B::date2 << endl;
 83     D::fun01();
 84     D::fun02();
 85     cout << "::num=" << ::num << endl;
 86     cout << "sn::va=" << sn::va << endl;
 87 }
 88 
 89 void test03()
 90 {
 91     cout << "A::data=" << A::data << endl;
 92     cout << "B::data=" << B::data << endl;
 93 //    int data = 299;
 94     using A::data;
 95     cout << "using A::data = " << data;
 96 }
 97 
 98 using A::data;
 99 void test04()
100 {
101     cout << "A::data=" << A::data << endl;
102     cout << "B::data=" << B::data << endl;
103     int data = 299;
104     cout << "int data = 299;" << data;
105 }
106 
107 
108 
109 int main()
110 {
111     cout << "Hello World!" << endl;
112     test01();
113     test02();
114     test03();
115     test04();
116     return 0;
117 }

 

上一篇:使用Spring Security登录认证,通过Oauth2.0开发第三方授授权访问资源项目详解


下一篇:C++_01