bloggerads

2013年12月8日 星期日

C++ : class內部宣告static member

以下討論在class裡宣告static member 

static member代表他只與class相關,而不與物件相關 (故無法用this指static member)
static member有static function & static function兩種

static function 只能呼叫static variable & static function, 不可呼叫物件層級的function 和 variable。但物件層級的 function 則可同時呼叫static與非static member

請參考以下範例:


#include <stdio.h>
class cTest
{
public:
 static int Num;
 static void Func() {
  //static function 只能呼叫static variable & static function, 不可呼叫物件相關的function 和 variable member
  printf("%d", Num);
 }
};

int cTest::Num = 9; // static variable的初始值必須寫在global area. 

int main()
{
 cTest::Num = 10;
 cTest::Func();
 return 0;
}

沒有留言:

張貼留言