新聞中心
所謂C++類(lèi)對(duì)象:一個(gè)類(lèi)的所有對(duì)象對(duì)應(yīng)同一個(gè)類(lèi)對(duì)象,想要學(xué)好C++類(lèi)對(duì)象。首先要了解C++語(yǔ)言的概念是非常重要的,那么就先說(shuō)一下什么是C++語(yǔ)言,所謂C++語(yǔ)言:是一種使用非常廣泛的計(jì)算機(jī)編程語(yǔ)言。

象州網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,象州網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為象州上千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的象州做網(wǎng)站的公司定做!
在學(xué)習(xí)這一章內(nèi)容前我們已經(jīng)學(xué)習(xí)過(guò)了類(lèi)的構(gòu)造函數(shù)和析構(gòu)函數(shù)的相關(guān)知識(shí),對(duì)于普通類(lèi)型的對(duì)象來(lái)說(shuō),他們之間的復(fù)制是很簡(jiǎn)單的,自己定義的類(lèi)的對(duì)象同樣是對(duì)象,誰(shuí)也不能阻止我們用以下的方式進(jìn)行復(fù)制,例如:
- include
- using namespace std;
- class Test
- {
- public:
- Test(int temp)
- {
- p1=temp;
- }
- protected:
- int p1;
- };
- void main()
- {
- Test a(99);
- Test b=a;
- }
普通對(duì)象和類(lèi)對(duì)象同為C++類(lèi)對(duì)象,他們之間的特性有相似之處也有不同之處,類(lèi)對(duì)象內(nèi)部存在成員變量,而普通對(duì)象是沒(méi)有的,當(dāng)同樣的復(fù)制方法發(fā)生在不同的對(duì)象上的時(shí)候。那么系統(tǒng)對(duì)他們進(jìn)行的操作也是不一樣的,就類(lèi)對(duì)象而言,相同類(lèi)型的類(lèi)對(duì)象是通過(guò)拷貝構(gòu)造函數(shù)來(lái)完成整個(gè)復(fù)制過(guò)程的,在上面的代碼中。
- #include
- 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ù)"<
; - p1=c_t.p1;//這句如果去掉就不能完成復(fù)制工作了,此句復(fù)制過(guò)程的核心語(yǔ)句
- }
- public:
- int p1;
- };
- void main()
- {
- Test a(99);
- Test b=a;
- cout<
; - cin.get();
- }
我們并沒(méi)有看到拷貝構(gòu)造函數(shù),同樣完成了復(fù)制工作,這又是為什么呢?因?yàn)楫?dāng)一個(gè)類(lèi)沒(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++類(lèi)對(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ù)的名稱(chēng)必須與類(lèi)名稱(chēng)一致,函數(shù)的形式參數(shù)是本類(lèi)型的一個(gè)引用變量,且必須是引用。
網(wǎng)站標(biāo)題:使用C++類(lèi)對(duì)象構(gòu)造函數(shù)
網(wǎng)站網(wǎng)址:http://fisionsoft.com.cn/article/cojjsgc.html


咨詢(xún)
建站咨詢(xún)
