青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

天下

記錄修行的印記

C++靜態(tài)成員函數(shù)小結(轉)

類中的靜態(tài)成員真是個讓人愛恨交加的特性。我決定好好總結一下靜態(tài)類成員的知識點,以便自己在以后面試中,在此類問題上不在被動。
靜態(tài)類成員包括靜態(tài)數(shù)據(jù)成員和靜態(tài)函數(shù)成員兩部分。

一 靜態(tài)數(shù)據(jù)成員:

類體中的數(shù)據(jù)成員的聲明前加上static關鍵字,該數(shù)據(jù)成員就成為了該類的靜態(tài)數(shù)據(jù)成員。和其他數(shù)據(jù)成員一樣,靜態(tài)數(shù)據(jù)成員也遵守public/protected/private訪問規(guī)則。同時,靜態(tài)數(shù)據(jù)成員還具有以下特點:

1.靜態(tài)數(shù)據(jù)成員的定義。
靜態(tài)數(shù)據(jù)成員實際上是類域中的全局變量。所以,靜態(tài)數(shù)據(jù)成員的定義(初始化)不應該被放在頭文件中。
其定義方式與全局變量相同。舉例如下: 
xxx.h文件 
class base
private
    
static const int _i;//聲明,標準c++支持有序類型在類體中初始化,但vc6不支持。 
}; 

xxx.cpp文件 
const int base::_i=10;//定義(初始化)時不受private和protected訪問限制.

注:不要試圖在頭文件中定義(初始化)靜態(tài)數(shù)據(jù)成員。在大多數(shù)的情況下,這樣做會引起重復定義這樣的錯誤。
即使加上#ifndef #define #endif或者#pragma once也不行。

2.靜態(tài)數(shù)據(jù)成員被 類 的所有對象所共享,包括該類派生類的對象。即派生類對象與基類對象共享基類的靜態(tài)數(shù)據(jù)成員。舉例如下: 

class base
public : 
    
static int _num;//聲明 
}; 
int base::_num=0;//靜態(tài)數(shù)據(jù)成員的真正定義 

class derived:public base
}; 

main() 

    
base a; 
    derived b; 
    a._num++; 
    cout<<"base class static data number _num is"<<a._num<<endl; 
    b._num++; 
    cout<<"derived class static data number _num is"<<b._num<<endl; 

// 結果為1,2;可見派生類與基類共用一個靜態(tài)數(shù)據(jù)成員。 

3.靜態(tài)數(shù)據(jù)成員可以成為成員函數(shù)的可選參數(shù),而普通數(shù)據(jù)成員則不可以。舉例如下: 
class base
public : 
    
static int _staticVar; 
    
int _var; 
    
void foo1(int i=_staticVar);//正確,_staticVar為靜態(tài)數(shù)據(jù)成員 
    void foo2(int i=_var);//錯誤,_var為普通數(shù)據(jù)成員 
}; 

4.★靜態(tài)數(shù)據(jù)成員的類型可以是所屬類的類型,而普通數(shù)據(jù)成員則不可以。普通數(shù)據(jù)成員的只能聲明為 所屬類類型的 指針或引用。舉例如下: 

class base
public : 
    
static base _object1;//正確,靜態(tài)數(shù)據(jù)成員 
    base _object2;//錯誤 
    base *pObject;//正確,指針 
    base &mObject;//正確,引用 
}; 

5.★這個特性,我不知道是屬于標準c++中的特性,還是vc6自己的特性。 
靜態(tài)數(shù)據(jù)成員的值在const成員函數(shù)中可以被合法的改變。舉例如下: 

class base
public
    
base(){_i=0;_val=0;} 

    mutable 
int _i; 
    
static int _staticVal; 
    
int _val; 
    
void test() const{//const 成員函數(shù) 

        _i++;
//正確,mutable數(shù)據(jù)成員 
        _staticVal++;//正確,static數(shù)據(jù)成員 
        _val++;//錯誤 

    } 
}; 
int base::_staticVal=0; 

二,靜態(tài)成員函數(shù) 
靜態(tài)成員函數(shù)沒有什么太多好講的。 

1.靜態(tài)成員函數(shù)的地址可用普通函數(shù)指針儲存,而普通成員函數(shù)地址需要用 類成員函數(shù)指針來儲存。舉例如下: 
class base
    
static int func1(); 
    
int func2(); 
}; 

int (*pf1)()=&base::func1;//普通的函數(shù)指針 
int (base::*pf2)()=&base::func2;//成員函數(shù)指針 


2.靜態(tài)成員函數(shù)不可以調(diào)用類的非靜態(tài)成員。因為靜態(tài)成員函數(shù)不含this指針。 

3.靜態(tài)成員函數(shù)不可以同時聲明為 
virtualconst、volatile函數(shù)。舉例如下: 
class base
    
virtual static void func1();//錯誤 
    static void func2() const;//錯誤 
    static void func3() volatile;//錯誤 
}; 


最后要說的一點是,靜態(tài)成員是可以獨立訪問的,也就是說,無須創(chuàng)建任何對象實例就可以訪問。


posted on 2010-10-26 12:08 天下 閱讀(340) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


<2013年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

導航

統(tǒng)計

常用鏈接

留言簿(4)

隨筆分類(378)

隨筆檔案(329)

鏈接

最新隨筆

搜索

最新評論

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            日韩午夜激情av| 一本一本久久| 日韩一级精品| 1204国产成人精品视频| 一区二区亚洲精品| 一区二区视频在线观看| 激情五月综合色婷婷一区二区| 国产亚洲第一区| 国产亚洲欧美日韩美女| 狠狠色丁香久久婷婷综合_中| 在线成人www免费观看视频| 亚洲第一主播视频| 99在线精品观看| 亚洲欧美国产一区二区三区| 午夜一级久久| 你懂的视频一区二区| 亚洲激情网址| 亚洲国产精品va在线看黑人动漫| 亚洲欧洲一区二区在线观看| 亚洲一区二区精品| 久久久久久综合网天天| 久久影院午夜片一区| 欧美丰满少妇xxxbbb| 国产精品大全| 红桃视频一区| 一区二区三区日韩欧美精品| 久久精品亚洲| 亚洲欧洲视频| 久久九九有精品国产23| 欧美激情中文不卡| 国产视频精品xxxx| 夜夜嗨av一区二区三区中文字幕 | 亚洲欧美国产毛片在线| 久久免费视频网| 亚洲精品国产精品久久清纯直播 | 久久亚洲一区| 一区二区高清视频| 久久综合中文色婷婷| 国产精品久久久久久久久久妞妞 | 欧美影院精品一区| 亚洲国产精品精华液2区45| 亚洲尤物视频在线| 欧美人体xx| 亚洲国产成人久久| 欧美怡红院视频| 在线一区二区三区四区五区| 欧美xxx成人| 亚洲欧美在线看| 亚洲黑丝在线| 久久久久久久成人| 国产精品亚发布| 一区二区三区视频在线播放| 欧美成人精品在线播放| 久久av在线| 国产日本欧洲亚洲| 小处雏高清一区二区三区| 日韩午夜剧场| 欧美凹凸一区二区三区视频| 亚洲国产国产亚洲一二三| 久久久综合精品| 午夜欧美理论片| 国产精品一区二区三区久久| 亚洲与欧洲av电影| 在线一区二区三区做爰视频网站| 欧美视频在线观看视频极品| 一本综合精品| 亚洲欧洲日韩在线| 欧美精品在线一区二区三区| 日韩一区二区免费看| 91久久精品美女高潮| 农村妇女精品| 亚洲韩国精品一区| 亚洲国产mv| 欧美国产激情| 亚洲夜间福利| 午夜精彩国产免费不卡不顿大片| 国产欧美日韩综合精品二区| 久久精品成人欧美大片古装| 欧美中文字幕第一页| 加勒比av一区二区| 亚洲高清在线| 欧美日韩精品在线视频| 亚洲一区在线看| 午夜亚洲影视| 亚洲电影下载| 日韩视频专区| 国产日韩欧美日韩大片| 久久永久免费| 欧美精品激情在线观看| 国产精品99久久久久久久vr| 亚洲中无吗在线| 曰韩精品一区二区| 91久久黄色| 国产精品视频一| 开心色5月久久精品| 欧美精品色综合| 亚洲欧美中文日韩v在线观看| 欧美在线看片| 一区二区高清视频在线观看| 新67194成人永久网站| 亚洲日本乱码在线观看| 亚洲一区美女视频在线观看免费| 在线电影一区| 亚洲先锋成人| 亚洲精品国精品久久99热| 一区二区激情| 最新高清无码专区| 欧美一区二区视频网站| 这里只有精品视频在线| 久久综合给合| 99这里只有久久精品视频| 国产麻豆综合| 欧美国产一区二区三区激情无套| 欧美日韩你懂的| 久久免费的精品国产v∧| 欧美午夜片在线观看| 欧美激情精品久久久久久免费印度| 国产精品v日韩精品| 欧美激情成人在线视频| 国产欧美在线播放| 亚洲精品影院在线观看| 亚洲成在人线av| 午夜精品一区二区三区四区| 在线一区日本视频| 美日韩精品视频| 久久久精品动漫| 欧美日韩第一页| 欧美激情第1页| 狠狠色噜噜狠狠狠狠色吗综合| 亚洲永久在线| 性色一区二区| 国产精品美女久久久免费| 99在线精品视频| 一区二区三区国产在线观看| 欧美激情精品久久久久久大尺度| 免费视频久久| 亚洲电影免费在线观看| 女同一区二区| 亚洲全黄一级网站| 99riav国产精品| 欧美日本韩国一区| 日韩视频在线永久播放| 亚洲一区在线观看视频| 国产精品人成在线观看免费| 一区二区三区免费网站| 亚洲午夜影视影院在线观看| 欧美日韩免费视频| 99re6热在线精品视频播放速度| 亚洲乱码久久| 欧美日韩情趣电影| 99在线精品观看| 午夜日韩电影| 国产一区二区三区精品久久久| 欧美在线观看视频| 欧美国产日韩二区| 一区二区三区高清在线| 欧美日韩情趣电影| 午夜精品福利一区二区三区av| 久久国产黑丝| 伊人男人综合视频网| 久久久久国产精品一区三寸 | 亚洲国产合集| 欧美精品一区二区高清在线观看| 亚洲日本va午夜在线电影| 中文高清一区| 国产亚洲欧美另类中文| 麻豆国产精品777777在线| 亚洲精一区二区三区| 亚洲一区二区视频| 国产综合第一页| 欧美jjzz| 一本大道久久a久久精品综合| 午夜欧美理论片| 亚洲福利视频三区| 欧美香蕉大胸在线视频观看| 欧美一区二区网站| 国产性天天综合网| 欧美午夜理伦三级在线观看| 亚洲国产另类久久精品| 亚洲一区在线播放| 精品不卡在线| 欧美日韩一区二区三区| 亚洲欧美视频在线观看| 欧美激情一区二区| 午夜欧美电影在线观看| 亚洲激情在线激情| 国产精品私房写真福利视频| 老牛嫩草一区二区三区日本| 亚洲天堂av电影| 欧美成人资源网| 欧美在线观看视频在线| 一本色道久久综合精品竹菊 | 亚洲男女自偷自拍图片另类| 136国产福利精品导航网址应用| 国产精品免费aⅴ片在线观看| 久久久久久999| 亚洲影院在线观看| 亚洲日本激情| 欧美高清在线播放| 久久嫩草精品久久久精品一|