鸭子tv国产极品在线观看_成人69视频在线播放_91精品免费在线观看_亚洲AT永久偷窥无码精品_国产精品自产拍在线观看涩浪潮久

江蘇省高校計算機(jī)等級考試命題研究院 江蘇省高校計算機(jī)等級考試輔導(dǎo)
vc++中類的解析

 類的定義

考點1 類的定義

  C++語言的類是一種用戶自己定義的數(shù)據(jù)類型,和其他的數(shù)據(jù)類型不同的地方是組成這種類型的不僅可以有數(shù)據(jù)還可以有對數(shù)據(jù)進(jìn)行操作的函數(shù),它們分別叫做類的數(shù)據(jù)成員和類的函數(shù)成員。類是面向?qū)ο蟪绦蛟O(shè)計的核心,數(shù)據(jù)封裝就是通過類來實現(xiàn)的。
  類是對一組性質(zhì)相同對象的描述。類的定義形式一般分為說明部分和實現(xiàn)部分。說明部分是用來說明該類中的成員,實現(xiàn)部分是用來對成員函數(shù)的定義。類的一般定義形式為:
  class<類名>
  {
     private:
     <私有的數(shù)據(jù)和函數(shù)>
     public:
     <公有的數(shù)據(jù)和函數(shù)>
     protected:
     <保護(hù)的數(shù)據(jù)和函數(shù)>
 };
     <各個成員函數(shù)的實現(xiàn)>
  其中,類定義以關(guān)鍵字class開始,其后跟類名,類名必須是一個有效的C++標(biāo)識符。
  類所說明的內(nèi)容用花括號括起來,右花括號后的分號的作用是類說明語句的結(jié)束標(biāo)志!皗}”之間的內(nèi)容稱為類體。關(guān)鍵字private,public和protected稱為訪問權(quán)限修飾符或訪問控制修飾符,它們用于限制類成員的控制訪問范圍,如果沒有使用多,則所有成員默認(rèn)定義為private權(quán)限。這些關(guān)鍵字的聲明順序和次數(shù)都是任意的。<各個成員函數(shù)的實現(xiàn)>是類定義中的實現(xiàn)部分,這部分包含所有在類體內(nèi)說明的成員函數(shù)的定義。各個成員函數(shù)的實體內(nèi)類體內(nèi)定義,又可以在類體外定義。如果一個成員函數(shù)在類體內(nèi)定義,實現(xiàn)部分將不出現(xiàn);如果所有的成員數(shù)都在類體內(nèi)定義,則實現(xiàn)部分可以省略在類體內(nèi)定義的成員函數(shù)都是內(nèi)聯(lián)函數(shù)。

 小提示:
   C++規(guī)定任何數(shù)據(jù)類型都必須先定義后使用,類也不例外。

考點2 類成員的訪問控制

  類成員均具有一個屬性,叫做訪問控制權(quán)限。所以從訪問權(quán)限上來講,類的成員又分為私有的(private),公有的(public)和保護(hù)的( protected) 3類。公有成員定義了類的外部接口,只有公有成員才能被用戶程序直接訪問;私有成員定義了類的內(nèi)部使用的數(shù)據(jù)和函數(shù),私有成員只能被自己所屬類的成員函數(shù)及友元函數(shù)訪問;保護(hù)成員存取權(quán)限介于公有成員和私有成員之間,它在類的繼承和派生中使用。

小提示:
  一個類可以沒有私有成員,但是不能沒有公有成員。

考點3 類的數(shù)據(jù)成員和類的函數(shù)成員

  1.類的數(shù)據(jù)成員
  數(shù)據(jù)成員是類的一個重要組成部分,它描述了對象的內(nèi)部數(shù)據(jù)結(jié)構(gòu)。類的數(shù)據(jù)成員是類的基礎(chǔ),應(yīng)該正確、完整地定義類的數(shù)據(jù)成員。定義類的數(shù)據(jù)成員應(yīng)注意:
  (1)在類體中不允許對所定義的數(shù)據(jù)成員進(jìn)行初始化。
  (2)類中的數(shù)據(jù)成員的類型可以是任意的,包含整型、浮點型、字符型、數(shù)組、  指針和引用等,也可以是對象。另一個類的對象可以作為該類的成員,但是自身類的對象是不可以的,而自身類的指針或引用則是可以的。當(dāng)一個類的對象作為這個類的成員時,如果另一個類的定義在后,則需要提前說明。
  2.類的函數(shù)成員
  函數(shù)成員實現(xiàn)對類中數(shù)據(jù)成員的操作,它描述了類的行為。由于對象的封裝性,類的函數(shù)成員是對類的私有數(shù)據(jù)成員進(jìn)行操作的惟一途徑。類中所有的函數(shù)成員都必須在類體中說明,但函數(shù)成員的定義既可在類體內(nèi),也可在類體外。
  (1)在類體內(nèi)直接給出函數(shù)的定義。例如,下面是在類體內(nèi)給出類成員函數(shù)實現(xiàn)的例子:
       class Shijian{
          private:
             int Shi,F(xiàn)en,Miao;
          public:


             void Set(int S, int F, int M)//可省略此成員函數(shù)的變量標(biāo)識符
        {Shi=S;
             Fen=F;
             Miao=M;}
        void Display(){
             cout<<"現(xiàn)在時間是:";
             cout<            }
        };
  (2)在類體外給出函數(shù)的定義。定義形式如下:
     <返回類型><類名>::<成員函數(shù)名>(<參數(shù)表>)
     {<成員函數(shù)體>}
  成員函數(shù)定義的結(jié)構(gòu)與普通函數(shù)不同之處是在返回類型和函數(shù)名之間加了一個類名和雙冒號“::”。::是作用域運算符,用來標(biāo)識成員函數(shù)或數(shù)據(jù)成員是屬于哪個類的實理成員函數(shù)時參數(shù)表中的形參變量標(biāo)識符可以省略。例如,實現(xiàn)上例中的成員函數(shù)Diaplay():
  void Shijian::Disptay()
  {cout<<"現(xiàn)在時間是:";
     cout<  另外,類成員函數(shù)同普通函數(shù)一樣,也可以進(jìn)行重載及其默認(rèn)參數(shù)。

小提示:
  類的每個成員函數(shù)在說明中最后的分號不可省略,但在類體內(nèi)實現(xiàn)時省略分號。