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 }