在c++語音中類的靜態資料成員在初始化時比較特殊,以為它並不是在類的定義中初始化,而是在類的定義外被初始化。如下示例:
#include"iostream"
#include"string.h"
class test
test(char *strname)
test(char *strname, int num)
char *getname()
int getbuffer() };
char test::strstaticname[10] = "東方不敗";//類靜態變數在外部賦值
int test::buf = 1;
int main(int arc, char *argv)
另外,乙個類中的靜態變數是被所有類物件所共有的,所以無論定義多少個類物件,靜態資料成員只有乙份。同時,如果乙個物件修改了靜態資料變數,其他物件的資料資料成員(其實是乙個靜態資料成員)也將改變。如上例中
test1.getname(),兩次的值不一樣。
C 類中static變數
using system namespace param stathread static void main string args i console.writeline string.format j new class1 j console.read 上面的 是乙個告訴我的,讓我看看結果,我...
C 類的 static變數
using system namespace teststatic static void main string args i console.writeline j new class1 j console.read 上面的 是乙個告訴我的,讓我看看結果,我看了一眼馬上說結果是 i 1 j 1 ...
類中static變數和成員變數
要理解標題,我們首先來看下static變數本身的特殊之處,即它儲存在全域性資料區。在類中的static變數也是如此。c 的記憶體分布 區 函式體的二進位制 全域性資料區 全域性變數和static變數 堆 動態記憶體分配 通過new 棧 區域性變數 常量區 字元 文字常量 這之後我們先通過 觀察一下區...