1. 程式人生 > >C++ 類靜態成員變數宣告和定義

C++ 類靜態成員變數宣告和定義

C++悠悠然

君不見黃河之水天上來,東流到海不復回 //1)在靜態記憶體區中 //2)所有類物件共用這一個變數,只有唯一一個 //3)必須在類外面顯示定義,顯示定義的時候不加static //4)可以通過類物件訪問,也可以通過類名加作用域訪問

#include <iostream>
//static成員變數:
class A
{
public:
	int a;//成員變數

	static int b;	//靜態成員變數
	void f1()
	{
		b = 0;		
	}
};

//靜態成員變數的顯示定義
int A::b = 8;
void main()
{
	A a;
	A b;
	std::cout<< sizeof(a) <<std::endl;
	std::cout<< sizeof(b) <<std::endl;
	
	std::cout<< a.b <<std::endl;//8
	a.b = 10;
	std::cout<< b.b <<std::endl;//10
	b.b = 12;

	std::cout<< A::b <<std::endl;//12

	a.f1();
	std::cout<< A::b <<std::endl;//0
}

class 人類
{
	int 眼睛;
	int 鼻子;
	static int 地球;
};
人類 人1;
人類 人2;

歡迎指教