線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:760
推到 Plurk!
推到 Facebook!

static的差別

答題得分者是:ENIX007
NitRate2
一般會員


發表:19
回覆:13
積分:6
註冊:2004-08-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-30 13:46:10 IP:66.144.xxx.xxx 未訂閱
class裡面有沒有static的差別是什麼? >
ENIX007
高階會員


發表:28
回覆:274
積分:185
註冊:2003-11-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-30 14:10:11 IP:203.70.xxx.xxx 未訂閱
NitRate2您好 差別在於a在物件產生前就已經配置記憶體,因此所有ABCDEF的物件共用這一份變數 而b是在物件生成後才配置,因此每一個物件各自擁有自己的b變數    也請記得在類別外為a進行初始動作 
引言: class ABCDEF { public: static int a; int b; }; int ABCDEF::a = 0(等於0可不寫)
參考看看 程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~ 發表人 -
------
程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
NitRate2
一般會員


發表:19
回覆:13
積分:6
註冊:2004-08-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-08-30 14:30:39 IP:66.144.xxx.xxx 未訂閱
謝謝ENIX007大大的回答< > 但我還是不太了解,能否舉個實際的例子?謝謝!< >
ENIX007
高階會員


發表:28
回覆:274
積分:185
註冊:2003-11-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-08-30 15:12:40 IP:203.70.xxx.xxx 未訂閱
NitRate2您好 比如說,設定一個類別,顯示由該類別產生的物件,分配每一個物件使其擁有 自己的ID,並顯示總共產生了幾個物件,如下:  
 #include 
class A
{
private:
        static int Count;//計算產生的類別數
        int Id;          //使各物件有唯一ID
public:
        A()
        {
                Id=0;
        }            ~A()
        {
        }            void AssignId();
        int GetId()
        {
                return Id;
        }
        static int GetCount()
        {
                return Count;
        }
};
int A::Count;  //靜態變數初始值=0    void A::AssignId()
{
        Id = Count  ;
}    void main()
{
        A* a1 = new A;
        a1->AssignId();
        printf("物件總數 = %d,物件Id = %d\n",a1->GetCount(),a1->GetId());
        A* a2 = new A;
        a2->AssignId();
        printf("物件總數 = %d,物件Id = %d",a2->GetCount(),a2->GetId());
         delete a1;
        delete a2;
        getchar();
}
您可以試著把Count變數改成非靜態,記得初始化,觀察它不同之處... 還是建議您找一本C 的書來研讀 程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~ 發表人 -
------
程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
NitRate2
一般會員


發表:19
回覆:13
積分:6
註冊:2004-08-26

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-08-30 17:08:37 IP:66.144.xxx.xxx 未訂閱
謝謝ENIX007大大的詳細說明,我會好好努力研究的!
系統時間:2024-06-22 18:53:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!