自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用C++類對象構(gòu)造函數(shù)

開發(fā) 后端
本文主要講述C++類對象,怎樣創(chuàng)建C++類對象,這些內(nèi)容都是一些門戶網(wǎng)站和技術(shù)論壇找到的,中間可能有不少錯誤是我沒有挑出的,歡迎大家指正。

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

在學(xué)習(xí)這一章內(nèi)容前我們已經(jīng)學(xué)習(xí)過了類的構(gòu)造函數(shù)和析構(gòu)函數(shù)的相關(guān)知識,對于普通類型的對象來說,他們之間的復(fù)制是很簡單的,自己定義的類的對象同樣是對象,誰也不能阻止我們用以下的方式進(jìn)行復(fù)制,例如:

  1. include <iostream>    
  2. using namespace std;    
  3.     
  4. class Test    
  5. {    
  6. public:    
  7.     Test(int temp)    
  8.     {    
  9.         p1=temp;    
  10.     }    
  11. protected:    
  12.     int p1;    
  13.     
  14. };    
  15.     
  16. void main()    
  17. {    
  18.     Test a(99);    
  19.     Test b=a;    

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

  1. #include <iostream>    
  2. using namespace std;    
  3.     
  4. class Test    
  5. {    
  6. public:    
  7.     Test(int temp)    
  8.     {    
  9.         p1=temp;    
  10.     }    
  11.     Test(Test &c_t)//這里就是自定義的拷貝構(gòu)造函數(shù)    
  12.     {    
  13.         cout<<"進(jìn)入copy構(gòu)造函數(shù)"<<endl;    
  14.         p1=c_t.p1;//這句如果去掉就不能完成復(fù)制工作了,此句復(fù)制過程的核心語句    
  15.     }    
  16. public:    
  17.     int p1;    
  18. };    
  19.     
  20. void main()    
  21. {    
  22.     Test a(99);    
  23.     Test b=a;    
  24.     cout<<b.p1;    
  25.     cin.get();    

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

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

【編輯推薦】

  1. C與C++中標(biāo)準(zhǔn)輸入實現(xiàn)方式上的一點(diǎn)區(qū)別
  2. C++編譯器如何對Const常量進(jìn)行分配存儲空間
  3. C++類庫設(shè)計的基本構(gòu)思與方法
  4. 玩轉(zhuǎn)C++語言的幾種方法
  5. 如何更好的進(jìn)行C++代碼編制
責(zé)任編輯:chenqingxiang 來源: 電子工業(yè)出版社
相關(guān)推薦

2010-01-25 14:00:27

C++類

2011-07-20 13:40:09

拷貝構(gòu)造函數(shù)

2024-04-28 11:01:27

C++編程語言函數(shù)

2010-02-02 17:39:31

C++構(gòu)造函數(shù)

2010-01-25 09:50:58

C++函數(shù)對象

2010-01-20 18:06:06

C++虛基類

2010-01-27 17:16:52

C++構(gòu)造函數(shù)

2023-11-28 11:51:01

C++函數(shù)

2010-01-28 10:49:22

C++構(gòu)造函數(shù)

2025-02-06 13:23:09

C++函數(shù)參數(shù)

2010-01-27 16:10:32

C++靜態(tài)構(gòu)造函數(shù)

2023-12-04 10:57:52

函數(shù)C++

2010-01-22 11:13:16

C++靜態(tài)

2010-01-25 14:43:00

C++構(gòu)造函數(shù)

2010-01-25 17:05:37

C++語言

2010-02-01 11:01:30

C++靜態(tài)構(gòu)造函數(shù)

2009-08-13 17:30:30

C#構(gòu)造函數(shù)

2024-12-06 12:00:00

C++構(gòu)造函數(shù)

2010-01-26 14:23:50

C++類

2022-07-26 00:36:06

C#C++函數(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號