1 //---------------------------------  【static】 不是 【const】 ---------------------------------------
 2 #include <stdio.h>
 3 class A
 4 {  
  public:
 5     // 声明为静态变量
 6     static int i;
 7     static int j;
 8     int k;
 9 public:
10     A(int k_){k=k_;}
11     static void setj(int j_);
12     static void print_static();
13     void print();
14 };
15 
16 // 直接定义静态成员变量
17 int A::i=10;
18 
19 // 必须先定义,再用静态成员函数初始化
20 int A::j;
21 void A::setj(int j_)
22 {
23     j = j_;
24 }
25 
26 void A::print_static()
27 {
28     printf("静态成员变量 i 和 j 值为%d 和%d \n", i, j);
29 }
30 
31 void A::print()
32 {
33     printf("成员变量 k 的值为:%d\n", k);
34 }
35 
36 int main(void)
37 {
38     // 初始化静态变量 j
39     A::setj(20);
40 
41     // 静态变量 i 也会被初始化
42     A a(3);
43 
44     //也可以使用 a.printf_static()
45     A::print_static();
46 
47     a.print();
48 
49 
50     //------ static  不是 const
51     static i;
52     i =5;
53     ++i;;
54     printf("i的值为:%d\n",i);
55     
56     return 0;
57 }