欧美1区2区3区激情无套,两个女人互添下身视频在线观看,久久av无码精品人妻系列,久久精品噜噜噜成人,末发育娇小性色xxxx

C++構(gòu)造函數(shù)、賦值構(gòu)造函和拷貝構(gòu)造函數(shù)

參考鏈接:https://blog.csdn.net/jin739738709/article/details/121679189

https://blog.csdn.net/beyond_cn/article/details/9021621

1.默認(rèn)構(gòu)造函數(shù)

任何可以不接受參數(shù)的構(gòu)造函數(shù)都是默認(rèn)構(gòu)造函數(shù)。如果你創(chuàng)建了任何構(gòu)造函數(shù),編譯器不會(huì)提供構(gòu)造函數(shù)。

如果沒(méi)有顯示為類(lèi)聲明構(gòu)造函數(shù),編譯器將生成一個(gè)不接受任何參數(shù),也不執(zhí)行任何操作的默認(rèn)構(gòu)造函數(shù)。編譯器提供的默認(rèn)構(gòu)造函數(shù)不會(huì)為數(shù)據(jù)成員提供初始值,也就是不會(huì)把數(shù)據(jù)成員初始化為0或者NULL。

2.析構(gòu)函數(shù)

析構(gòu)函數(shù)在對(duì)象被銷(xiāo)毀后完成清理工作并釋放(在構(gòu)造函數(shù)或?qū)ο蟮纳芷谥校┓峙涞馁Y源或內(nèi)存。析構(gòu)函數(shù)總是與類(lèi)同名,但在前面加上一個(gè)~。析構(gòu)函數(shù)沒(méi)有參數(shù)也沒(méi)有返回值,所以一個(gè)類(lèi)只能有一個(gè)析構(gòu)函數(shù)。

3. 默認(rèn)拷貝構(gòu)造函數(shù)

每當(dāng)創(chuàng)建對(duì)象的拷貝時(shí),都將調(diào)用拷貝構(gòu)造函數(shù)。

所有拷貝構(gòu)造函數(shù)都接受一個(gè)參數(shù):指向其所屬類(lèi)的對(duì)象的引用。將該引用聲明為const是個(gè)好主意,因?yàn)榭截悩?gòu)造函數(shù)不會(huì)修改傳入的對(duì)象。例如:Cat(const Cat & cat);

Cat構(gòu)造函數(shù)接受一個(gè)指向cat對(duì)象的const引用。

缺點(diǎn):默認(rèn)拷貝構(gòu)造函數(shù)將作為參數(shù)傳入的對(duì)象的每個(gè)成員變量復(fù)制到新對(duì)象的成員變量中。這被稱(chēng)為成員拷貝(淺拷貝)。

對(duì)大多數(shù)成員變量來(lái)說(shuō)是可行的,但對(duì)于指向自由存儲(chǔ)區(qū)中的對(duì)象的指針成員變量不可行。需要深拷貝解決。

成員淺拷貝只是將對(duì)象成員變量的值復(fù)制到另一個(gè)對(duì)象中,兩個(gè)對(duì)象中的指針最后將指向同一個(gè)內(nèi)存塊。深拷貝將在堆中分配的值復(fù)制到新分配的內(nèi)存中。

拷貝構(gòu)造函數(shù)被調(diào)用的情況:

ref:https://blog.csdn.net/ituling/article/details/52303320

(1)定義新對(duì)象,并用已有對(duì)象初始化新對(duì)象時(shí); 即執(zhí)行語(yǔ)句“Cat B=A; ” 時(shí)(定義對(duì)象時(shí)使用賦值初始化);

(2)當(dāng)對(duì)象直接作為參數(shù)傳給函數(shù)時(shí),函數(shù)將建立對(duì)象的臨時(shí)拷貝,這個(gè)拷貝過(guò)程也將調(diào)同拷貝構(gòu)造函數(shù)。

例如: BOOL testfunc(Cat obj){             //針對(duì)obj的操作實(shí)際上是針對(duì)復(fù)制后的臨時(shí)拷貝進(jìn)行的        }

testfunc(A); //對(duì)象直接作為參數(shù),拷貝函數(shù)將被調(diào)用;

(3)當(dāng)函數(shù)中的局部對(duì)象被返回給函數(shù)調(diào)者時(shí),也將建立此局部對(duì)象的一個(gè)臨時(shí)拷貝,拷貝構(gòu)造函數(shù)也將被調(diào)用 

    Cat func(){

         Cat   c; 

return   c;

    }  

此外,假設(shè)motto是一個(gè)String對(duì)象,則下面4種聲明都將調(diào)用復(fù)制構(gòu)造函數(shù)

ref:https://blog.csdn.net/qfturauyls/article/details/105778231

  String ditto(motto);

  String metoo = motto;

  String also = String(motto);

  String *pString = new String(motto);

4. 賦值構(gòu)造函數(shù)

賦值構(gòu)造函數(shù)是通過(guò)重載賦值操作符實(shí)現(xiàn)的,這種操作符的原型如下:Class_name& Class_name::operator=(const Class_name&);

例如:

CExample & CExample::operator = (const CExample& RightSides){

if( this == &rightsides)    //自身判斷

nSize=RightSides.nSize; //復(fù)制常規(guī)成員

char *temp=new char [nSize]; //復(fù)制指針指向的內(nèi)容

memcpy(temp,RightSides.pBuffer,nSize*sizeof (char ));

delete []pBuffer; //刪除原指針指向內(nèi)容   (將刪除操作放在后面,避免X=X特殊情況下,內(nèi)容的丟失)

pBuffer=temp;    //建立新指向

 return *this;

 }

 它接受并返回一個(gè)指向類(lèi)對(duì)象的引用。

例如,String 類(lèi)的賦值操作符的原型:String& String::operator=(const String&);

 將已有的對(duì)象賦給另一個(gè)對(duì)象時(shí),將使用重載的賦值操作符:

  String headline1("test");

  String knot;

  knot = headline1;

-------------------

 注意:初始化對(duì)象時(shí),并不一定會(huì)使用賦值操作符:String metoo = knot;

  這里,metoo是一個(gè)新創(chuàng)建的對(duì)象,被初始化為knot的值,此時(shí)使用復(fù)制構(gòu)造函數(shù)。不過(guò),正如前面指出的,實(shí)現(xiàn)時(shí)也可能分兩步來(lái)處理這條語(yǔ)句:使用復(fù)制構(gòu)造函數(shù)創(chuàng)建一個(gè)臨時(shí)對(duì)象,然后通過(guò)賦值將臨時(shí)對(duì)象的值復(fù)制到新對(duì)象中。這就是說(shuō),初始化總是會(huì)調(diào)用復(fù)制構(gòu)造函數(shù),而使用=操作符時(shí)也可能調(diào)用賦值操作符

全部評(píng)論

相關(guān)推薦

劉湘_passion:出國(guó)旅游?那就小心你的腰子咯
點(diǎn)贊 評(píng)論 收藏
分享
點(diǎn)贊 評(píng)論 收藏
分享
評(píng)論
點(diǎn)贊
2
分享

創(chuàng)作者周榜

更多
正在熱議
更多
# 面試問(wèn)題記錄 #
58557次瀏覽 826人參與
# 硬件人的簡(jiǎn)歷怎么寫(xiě) #
254151次瀏覽 2884人參與
# 京東TGT #
46671次瀏覽 174人參與
# 你遇到過(guò)哪些神仙同事 #
71386次瀏覽 640人參與
# 我的2024小目標(biāo) #
57875次瀏覽 387人參與
# 工作中,你有沒(méi)有遇到非常愛(ài)罵人的領(lǐng)導(dǎo)? #
16766次瀏覽 126人參與
# 百度工作體驗(yàn) #
204510次瀏覽 1906人參與
# 實(shí)習(xí)生應(yīng)該準(zhǔn)時(shí)下班嗎 #
201259次瀏覽 1312人參與
# 上班到公司第一件事做什么? #
37632次瀏覽 347人參與
# 國(guó)企和大廠(chǎng)硬件兄弟怎么選? #
119929次瀏覽 1656人參與
# 工作一周年分享 #
18653次瀏覽 109人參與
# 沒(méi)有合適的工作,你會(huì)先找個(gè)干著,還是考公考研 #
104120次瀏覽 1075人參與
# 面試吐槽bot #
13177次瀏覽 85人參與
# 互聯(lián)網(wǎng)行業(yè)現(xiàn)在還值得去嗎 #
6214次瀏覽 42人參與
# 面試經(jīng)驗(yàn)談 #
37765次瀏覽 488人參與
# 拼多多工作體驗(yàn) #
16544次瀏覽 152人參與
# 入職第五天,你被拉進(jìn)了幾個(gè)工作群 #
17431次瀏覽 80人參與
# 假如我穿越到了媽媽的18歲 #
5724次瀏覽 43人參與
# 國(guó)企vs私企,你更想去? #
217154次瀏覽 2070人參與
# 你們的畢業(yè)論文什么進(jìn)度了 #
999025次瀏覽 9398人參與
# 機(jī)械人,你的第一份感謝信是誰(shuí)給的 #
26325次瀏覽 296人參與
??途W(wǎng)
??推髽I(yè)服務(wù)