1
/TestClass.h
/
2 class TestClass
3 {
4 public :
5 void Test();
6 int a;
7 private :
8 int b;
9 public :
10 static int c;
11 }; // 别忘了把这个分号给带上了,不然下面的cpp中会提示namespace缺少分号的错误提示
12
13 // /C++BaseTest.cpp /
14 #include " stdafx.h "
15 #include " TestClass.h "
16
17 #include < iostream >
18 using namespace std;
19
20 TestClass tc;
21 // tc.a = 10;
22 // tc.b = 30; // 你会发现把TestClass的成员变量作为全局变量初始化时会报错,有待研究原因
23 int TestClass::c = 8 ; // 类的静态变量,定义不需要在前面加static,否则会报错。它作为所有类对象的共享值。
24
25 void TestClass::Test()
26 {
27 b = 20 ;
28 cout << a << " " << b << " " << c << endl;
29 }
30
31 int _tmain( int argc, _TCHAR * argv[])
32 {
33 tc.a = 10 ; // 在局部初始化类对象的成员变量正确,对象的成员变量属于对象
34 // 譬如说,这里你已经对对象tc的成员a赋值了,在后面Test函数中a的值就是对象tc的成员a
35 cout << tc.a << endl;
36 tc.Test();
37 while ( true )
38 {
39 }
40 return 0 ;
41 }
2 class TestClass
3 {
4 public :
5 void Test();
6 int a;
7 private :
8 int b;
9 public :
10 static int c;
11 }; // 别忘了把这个分号给带上了,不然下面的cpp中会提示namespace缺少分号的错误提示
12
13 // /C++BaseTest.cpp /
14 #include " stdafx.h "
15 #include " TestClass.h "
16
17 #include < iostream >
18 using namespace std;
19
20 TestClass tc;
21 // tc.a = 10;
22 // tc.b = 30; // 你会发现把TestClass的成员变量作为全局变量初始化时会报错,有待研究原因
23 int TestClass::c = 8 ; // 类的静态变量,定义不需要在前面加static,否则会报错。它作为所有类对象的共享值。
24
25 void TestClass::Test()
26 {
27 b = 20 ;
28 cout << a << " " << b << " " << c << endl;
29 }
30
31 int _tmain( int argc, _TCHAR * argv[])
32 {
33 tc.a = 10 ; // 在局部初始化类对象的成员变量正确,对象的成员变量属于对象
34 // 譬如说,这里你已经对对象tc的成员a赋值了,在后面Test函数中a的值就是对象tc的成员a
35 cout << tc.a << endl;
36 tc.Test();
37 while ( true )
38 {
39 }
40 return 0 ;
41 }