static 不能因为不常用,而不去了解
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 }