国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
static和const修飾的類(lèi)成員

static和const修飾的類(lèi)成員

 

類(lèi)的static靜態(tài)數(shù)據(jù)成員:

class A
{
   public:
      static int i ;
};

初始化方法: int  A::k=100;     

 //靜態(tài)成員變量的初值只應(yīng)該設(shè)定一次,不要把初始化操作放在類(lèi)的構(gòu)造函數(shù)中,因?yàn)闃?gòu)造函數(shù)可能一再被調(diào)用,也不要放在類(lèi)的頭文件中,因?yàn)轭^文件可能被載入許多地方從而被執(zhí)行許多次。初始化時(shí)必須寫(xiě)上數(shù)據(jù)類(lèi)型(int)和類(lèi)名限定(A::),就像類(lèi)的函數(shù)成員實(shí)現(xiàn)時(shí)必須寫(xiě)上函數(shù)返回值類(lèi)型和類(lèi)名限定一樣。

 

類(lèi)的static靜態(tài)函數(shù)成員:

class A
{
   public:
      static void  fun( ) ;
};

實(shí)現(xiàn)方法: 

void A::fun( )
  {cout<<"class A fun()!";}

//在類(lèi)的源文件.cpp里進(jìn)行函數(shù)實(shí)現(xiàn),實(shí)現(xiàn)方法跟普通函數(shù)成員的實(shí)現(xiàn)一樣。類(lèi)的靜態(tài)函數(shù)只能訪問(wèn)該類(lèi)的靜態(tài)數(shù)據(jù)成員或靜態(tài)函數(shù)成員。如果要訪問(wèn)非靜態(tài)數(shù)據(jù)成員必須通過(guò)參數(shù)傳遞得到類(lèi)對(duì)象名,然后通過(guò)對(duì)象名來(lái)訪問(wèn)。如下:

class A
{
public:
    static void  fun(A a ) ;
    int i;
}
;

函數(shù)實(shí)現(xiàn):

void A::fun(A a )
{  
 a.i=55; 
 cout<<a.i;
}

 

類(lèi)的const常數(shù)據(jù)成員:

class A
{
public:
    A(int j);
    const int i;
}
;

初始化方法:

A::A(int j):i(j)
{  }

//常數(shù)據(jù)成員只能通過(guò)構(gòu)造函數(shù)初始化列表來(lái)獲取初值。常數(shù)據(jù)成員得到初值后不能更新。

 

類(lèi)的const常函數(shù)成員:

class A
{
public:
    A(int j,int m);
    const int i;
    int q;
    static int k;
    void  fun( )  const
}
;

 

函數(shù)實(shí)現(xiàn):

A::A(int j,int m ):i(j),q(m)
{  }

int A::k=456;

void A::fun( ) const
{   k=789;     //正確,能對(duì)靜態(tài)數(shù)據(jù)成員更新。
    q=111;     //錯(cuò)誤,不能對(duì)普通數(shù)據(jù)成員更新。
     i=222;     //錯(cuò)誤,常數(shù)據(jù)成員初始化后不能更新。
   cout<<i<<endl<<q<<endl<<k;   //正確,能訪問(wèn)所有數(shù)據(jù)成員。
}

//常函數(shù)成員能訪問(wèn)常數(shù)據(jù)成員,靜態(tài)數(shù)據(jù)成員和普通數(shù)據(jù)成員,但不能對(duì)常數(shù)據(jù)成員和普通數(shù)據(jù)成員更新。

 

類(lèi)的const對(duì)象(常對(duì)象)

const A(123,456);

類(lèi)的常對(duì)象只能調(diào)用該類(lèi)的常函數(shù)成員,由于常函數(shù)成員不能對(duì)常數(shù)據(jù)成員和普通數(shù)據(jù)成員更新,只能對(duì)靜態(tài)數(shù)據(jù)成員更新,所以常對(duì)象不能修改自己的數(shù)據(jù)成員,也因此才能叫常對(duì)象。(靜態(tài)成員不屬于一個(gè)對(duì)象而屬于整個(gè)類(lèi)。)

 

類(lèi)的靜態(tài)常數(shù)據(jù)成員

class A
{
public:
    A(int j,int m);
   const int i;
   int q;
   static const int k;
   void  fun( )  const ; 
}
;

函數(shù)實(shí)現(xiàn):

A::A(int j,int m):i(j),q(m)
{  }

const int A::k=789;     //類(lèi)的靜態(tài)常數(shù)據(jù)成員類(lèi)似于靜態(tài)數(shù)據(jù)成員賦初值,但要記得前面加const。

void A::fun( ) const
{   k=111;                  //錯(cuò)誤,靜態(tài)常數(shù)據(jù)成員也是常數(shù)據(jù)成員,常數(shù)據(jù)成員得到初值后不能更新。
    cout<<i<<endl<<q<<endl<<k;    //正確,能訪問(wèn)靜態(tài)常數(shù)據(jù)成員。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
為什么static數(shù)據(jù)成員一定要在類(lèi)外初始化?(轉(zhuǎn))
C++靜態(tài)成員與靜態(tài)成員函數(shù)小結(jié)
C++??static、const和static?const?以及它們的初始化_Heart...
[轉(zhuǎn)]C++類(lèi)靜態(tài)成員的初始化
關(guān)于類(lèi)的基礎(chǔ)介紹
C++類(lèi)成員函數(shù)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服