久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > C++ 類構造函數

C++ 類構造函數 時間:2018-09-29      來(lai)源:未知(zhi)

C++中,有一(yi)類(lei)比較(jiao)特殊(shu)的(de)(de)(de)(de)函(han)數--構(gou)造(zao)函(han)數,構(gou)造(zao)函(han)數是類(lei)的(de)(de)(de)(de)一(yi)種特殊(shu)的(de)(de)(de)(de)成員函(han)數,它(ta)會在每(mei)次創建(jian)類(lei)的(de)(de)(de)(de)新對象(xiang)時執行(xing)。構(gou)造(zao)函(han)數的(de)(de)(de)(de)名稱與類(lei)的(de)(de)(de)(de)名稱是完(wan)全(quan)相同的(de)(de)(de)(de),并且不(bu)會返(fan)回(hui)任何類(lei)型(xing),也不(bu)會返(fan)回(hui) void。構(gou)造(zao)函(han)數可(ke)用于為某(mou)些成員變(bian)量(liang)設置初(chu)始值。

構(gou)造函數主要用(yong)來在創建對(dui)象(xiang)(xiang)時(shi)完成對(dui)對(dui)象(xiang)(xiang)屬性(xing)的一些(xie)初始化等(deng)操(cao)作, 當創建對(dui)象(xiang)(xiang)時(shi), 對(dui)象(xiang)(xiang)會(hui)自動(dong)調用(yong)它的構(gou)造函數。一般來說, 構(gou)造函數有以下(xia)三(san)個方面(mian)的作用(yong):

1) 給創建的對象建立一個標識符;

2) 為對(dui)象(xiang)數據成(cheng)員開辟內(nei)存空間(jian);

3) 完成對象數據(ju)成員的(de)初始(shi)化。

 ;    無論(lun)是用戶自定義的構造(zao)函(han)數還是默認構造(zao)函(han)數都(dou)主要有(you)以下特點:

1) 在對象被創(chuang)建(jian)時自(zi)動執行;

2) 構(gou)造函數(shu)的函數(shu)名(ming)與類名(ming)相同(tong);

3) 沒有返回(hui)值(zhi)類型、也沒有返回(hui)值(zhi);

4) 構造函數不能被顯式調用。

 

由于在大多(duo)數(shu)(shu)情況(kuang)下我們(men)(men)希望在對象(xiang)創建時就(jiu)完成一(yi)些(xie)對成員屬性的初始化等工作, 而默認構(gou)(gou)造函(han)數(shu)(shu)無法滿足我們(men)(men)的要(yao)求(qiu), 所以(yi)我們(men)(men)需要(yao)顯式定(ding)義(yi)一(yi)個構(gou)(gou)造函(han)數(shu)(shu)來覆蓋掉默認構(gou)(gou)造函(han)數(shu)(shu)以(yi)便來完成必(bi)要(yao)的初始化工作, 當(dang)用戶自定(ding)義(yi)構(gou)(gou)造函(han)數(shu)(shu)后編譯器就(jiu)不會再為對象(xiang)生(sheng)成默認構(gou)(gou)造函(han)數(shu)(shu)。

    

    在(zai)構(gou)造函數(shu)的(de)特點中我(wo)們看到, 構(gou)造函數(shu)的(de)名稱必須與類名相同, 并且沒有返(fan)回值(zhi)類型(xing)和(he)返(fan)回值(zhi), 看一個(ge)構(gou)造函數(shu)的(de)定(ding)義:

#include <iostream>  

using namespace std;    

class Student  

{  

    public:  

  &nbsp; Student()//無(wu)參數構造函(han)數  

    {  

        number = 0;  

        score = 90;  

    }  

    void show();  

  

    protected:  

    int number;  

    int score;  

  

};  

  

void Student::show()  

{  

    cout<<number<<endl<<score<<endl; &nbsp;

}  

  

void main()  

{  

    Student a;  

    a.show();  

    cin.get();  

}

執行結(jie)果:0

         90

  在類中的(de)(de)(de)定義的(de)(de)(de)和類名相同,并且(qie)沒有任(ren)何返回類型(xing)的(de)(de)(de)Student()就是(shi)構造函數(shu),這是(shi)一個無(wu)參數(shu)的(de)(de)(de)構造函數(shu),他(ta)在對象創(chuang)建(jian)的(de)(de)(de)時候自動調用(yong),如(ru)果去掉Student()函數(shu)體內(nei)的(de)(de)(de)代碼那么它(ta)和c++的(de)(de)(de)默認提(ti)供的(de)(de)(de)構造函數(shu)等價的(de)(de)(de)。

  構造函數可以帶(dai)任意多個的(de)形式(shi)參數,這一(yi)點和普(pu)通函數的(de)特性是一(yi)樣的(de)!

上一篇:Linux系統將設備驅動分為三種類型

下一篇:程序跳轉之longjmp

熱點文章推(tui)薦
華(hua)清學員就業榜單(dan)
高薪學員經驗分(fen)享
熱點新聞推(tui)薦
前(qian)臺專(zhuan)線:010-82525158 企業培訓洽(qia)談專線(xian):010-82525379 院校合作(zuo)洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,,京公海網安備11010802025203號

回到頂部