C++中如何使用類對(duì)象構(gòu)造函數(shù)

C++中如何使用類對(duì)象構(gòu)造函數(shù),很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

創(chuàng)新互聯(lián)建站于2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元洪江做網(wǎng)站,已為上家服務(wù),為洪江各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108

對(duì)于普通類型的對(duì)象來(lái)說(shuō),他們之間的復(fù)制是很簡(jiǎn)單的,自己定義的類的對(duì)象同樣是對(duì)象,誰(shuí)也不能阻止我們用以下的方式進(jìn)行復(fù)制,例如:

include <iostream>    using namespace std;        class Test    {    public:        Test(int temp)        {            p1=temp;        }    protected:        int p1;        };        void main()    {        Test a(99);        Test b=a;    }

普通對(duì)象和類對(duì)象同為C++類對(duì)象,他們之間的特性有相似之處也有不同之處,類對(duì)象內(nèi)部存在成員變量,而普通對(duì)象是沒(méi)有的,當(dāng)同樣的復(fù)制方法發(fā)生在不同的對(duì)象上的時(shí)候。那么系統(tǒng)對(duì)他們進(jìn)行的操作也是不一樣的,就類對(duì)象而言,相同類型的類對(duì)象是通過(guò)拷貝構(gòu)造函數(shù)來(lái)完成整個(gè)復(fù)制過(guò)程的,在上面的代碼中。

#include <iostream>    using namespace std;        class Test    {    public:        Test(int temp)        {            p1=temp;        }        Test(Test &c_t)//這里就是自定義的拷貝構(gòu)造函數(shù)        {            cout<<"進(jìn)入copy構(gòu)造函數(shù)"<<endl;            p1=c_t.p1;//這句如果去掉就不能完成復(fù)制工作了,此句復(fù)制過(guò)程的核心語(yǔ)句        }    public:        int p1;    };        void main()    {        Test a(99);        Test b=a;        cout<<b.p1;        cin.get();    }

我們并沒(méi)有看到拷貝構(gòu)造函數(shù),同樣完成了復(fù)制工作,這又是為什么呢?因?yàn)楫?dāng)一個(gè)類沒(méi)有自定義的拷貝構(gòu)造函數(shù)的時(shí)候系統(tǒng)會(huì)自動(dòng)提供一個(gè)默認(rèn)的拷貝構(gòu)造函數(shù),來(lái)完成復(fù)制工作。

下面,我們?yōu)榱苏f(shuō)明情況,就普通情況而言(以上面的代碼為例),C++類對(duì)象來(lái)自己定義一個(gè)與系統(tǒng)默認(rèn)拷貝構(gòu)造函數(shù)一樣的拷貝構(gòu)造函數(shù),看看它的內(nèi)部是如何工作的! 上面代碼中的Test(Test &c_t)就是我們自定義的拷貝構(gòu)造函數(shù),拷貝構(gòu)造函數(shù)的名稱必須與類名稱一致,函數(shù)的形式參數(shù)是本類型的一個(gè)引用變量,且必須是引用。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。

當(dāng)前名稱:C++中如何使用類對(duì)象構(gòu)造函數(shù)
轉(zhuǎn)載注明:http://www.muchs.cn/article12/ghjhdc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)、網(wǎng)站排名、網(wǎng)站內(nèi)鏈、做網(wǎng)站、商城網(wǎng)站、網(wǎng)站營(yíng)銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司