類的常類型

來源:互聯網
上載者:User

一、常類型的引入

      是為了既保證資料共用又防止資料被改動。

 

二、常資料成員

      定義格式:

            const 資料類型 資料成員名;

      說明:

            1. 常資料成員只能通過建構函式用初始化列表進行初始化,而任何其他函數都不能對該成員賦值;

     

三、常成員函數

      說明格式:

            類型說明符 函數名(參數表)const;

      說明:

            1. 在函數實現的部分要帶關鍵字const(因為const是函數類型的一個組成部分);

            2. 關鍵字const可以被用於參與對重載函數的區分;

            3. 常成員函數不能更新對象的資料成員,也不能調用該類中的普通成員函數,這就保證了在常成員函數中絕對不會更新資料成員的

                值;

            4. 常成員函數是常對象惟一的對外介面,這是C++從文法機制上對常對象的保護。

    

四、常對象

      說明形式:

            類名 const 對象名[(參數表)];                 或                   const 類名 對象名[(參數表)];

      說明:

            1. 在定義對象時,必須進行初始化,而且不能被更新;

            2. 常對象只能調用它的常成員函數,而不能調用普通的成員函數;

            3. c++不允許直接或間接地更改常對象的資料成員。

 

五、程式樣本

         #include <iostream><br />using namespace std; </p><p>class KSample<br />{<br />private:<br />const int n; //定義常資料成員<br />public:<br />int m;<br />KSample(int i, int j):n(j) //常資料成員只能用初始化列表進行初始化<br />{<br />m = i;<br />}<br />void Display(void); //聲明普通成員函數Display(void)<br />void Display(void) const; //聲明常成員函數Display(void)<br />};</p><p>void KSample::Display()<br />{<br />cout<<"m1 = "<<m<<endl;<br />cout<<"n1 = "<<n<<endl;<br />}</p><p>void KSample::Display() const<br />{<br />cout<<"m2 = "<<m<<endl;<br />cout<<"n2 = "<<n<<endl;<br />}</p><p>int main()<br />{<br />KSample a(30,40);<br />a.Display();<br />const KSample b(10,20); //定義常對象<br />b.Display();<br />return 0;<br />}

           程式結果:

                 m1 = 30

                 n1  = 40

                 m2 = 10

                 n2  = 20

                

      

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.