c++static成員

1.概念
聲明static的類成員稱爲類的靜態成員,用static修飾的成員變量,稱之爲靜態成員變量;用static修飾的成員函數,稱爲靜態成員函數。靜態成員變量一定要在類外井下初始化!!

2.特性

靜態成員爲所以類對象所共有,不屬於某個實例。

靜態成員變量必須在類外面定義,定義時不添加static關鍵字,類外定義實際是分配內存

靜態成員函數沒有隱藏的this指針,不能訪問任何非靜態成員變量

靜態成員函數不能調非靜態成員函數,非靜態成員函數可用調用靜態成員函數。

3.面試題——統計一個類有多少個對象

#include <iostream>
using namespace std;
class A
{
public:
	A()
	{
		count++;
	}
	A(const A& x)
	{
		count++;
	}
	 static int GetCount()
	{
		return count;
	}
private:
	static int count;
};
int A::count = 0;
int main()
{
	A a, b, c;
	A d(c);
	cout << a.GetCount()<< endl;
	return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章