目錄
static int a = 10;//在靜態區分配空間,不在堆疊
在靜態區分配空間,不在堆疊分配空間。因此,只有等到所以函式全部執行完成後,才會釋放空間。
void text()
static int m_c;
private:
int m_a;
int m_b;
static int m_d;
};正確寫法:靜態成員變數初始化,一定在類外。
class aa
~aa()
private:
int m_a;
int m_b;
static int m_d;
};int aa::m_c = 0;//public下靜態變數初始化
int aa::m_d = 1;//private下靜態變數初始化
int main(int arg, char** args)
結果:例子1:
class aa
static int m_c;
int get_c()
private:
int m_a;
int m_b;
};int aa::m_c = 0;
int main(int arg, char** args)
static int m_c;
private:
int m_a;
int m_b;
};int aa::m_c = 0;
int main(int arg, char** args)
在private下:必須提供函式,才能訪問和修改s變數值。
class aa
static void set_md(int d)
static int get_md程式設計客棧()
private:
int m_a;
int m_b;
static int m_d;
};int aa::m_d = 1;
int main(int arg, char** args)
結果:class a ;
int main()
結果:結果:居然是8,不是12。因為static成員是命名空間屬於類的全域性變數,儲存在data區(靜態區)。
#include
using namespace std;
class student
static double get_total_score()
static double get_count()
};int student::count = 0;
double student::total_score = 0.0;
int main(int arg, char** args)
本文標題: c++的靜態成員變數和靜態成員函式詳解
本文位址:
C 靜態成員變數和靜態成員函式
資料成員可以分靜態變數 非靜態變數兩種.靜態成員 靜態類中的成員加入static修飾符,即是靜態成員.可以直接使用類名 靜態成員名訪問此靜態成員,因為靜態成員存在於記憶體,非靜態成員需要例項化才會分配記憶體,所以靜態成員不能訪問非靜態的成員.因為靜態成員存在於記憶體,所以非靜態成員可以直接訪問類中靜...
C 靜態成員變數和靜態成員函式
資料成員可以分靜態變數 非靜態變數兩種.靜態成員 靜態類中的成員加入static修飾符,即是靜態成員.可以直接使用類名 靜態成員名訪問此靜態成員,因為靜態成員存在於記憶體,非靜態成員需要例項化才會分配記憶體,所以靜態成員不能訪問非靜態的成員.因為靜態成員存在於記憶體,所以非靜態成員可以直接訪問類中靜...
C 靜態成員變數和靜態成員函式
靜態成員變數和靜態資料成員並不屬於某乙個類物件,而是整個類,為所有物件共有,下面介紹 靜態成員變數和靜態資料成員的一些特徵 class a int tmain int argc,tchar argv 結果如下 1 class a const char a c b 可以通過作用域操作符,類的物件,引用...