国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
行業(yè)十年大牛精心整理三分鐘掌握C 中的六個函數(shù)!

一、構(gòu)造函數(shù)


    https://m.toutiaocdn.com/group/6585736123899707911/?iid=39362926900&app=news_article&timestamp=1533448277&group_id=6585736123899707911


在C++中,構(gòu)造函數(shù)是六個函數(shù)中的第一個,當(dāng)一個對象被創(chuàng)建時,在它的整個周期中,是一個由生到死的過程,即構(gòu)造函數(shù)創(chuàng)建對象,析構(gòu)函數(shù)析構(gòu)對象。在對象被創(chuàng)建時,調(diào)用構(gòu)造函數(shù)創(chuàng)建一個對象,這是對象的創(chuàng)建過程。在C++中,當(dāng)你創(chuàng)建一個對象時需要調(diào)用構(gòu)造函數(shù)創(chuàng)建對象,在類中,有默認(rèn)的構(gòu)造函數(shù),當(dāng)然你也可以去使用構(gòu)造函數(shù)去創(chuàng)建對象,對數(shù)據(jù)進行初始化??聪旅娴睦樱?/p>

在上面的構(gòu)造函數(shù)中,構(gòu)造函數(shù)必須與類名相同,構(gòu)造函數(shù)是無類型的,第一個構(gòu)造函數(shù)是默認(rèn)的構(gòu)造函數(shù),第二個構(gòu)造函數(shù)是只對一個數(shù)據(jù)成員進行初始化,其它的數(shù)據(jù)成員是隨機值。第二個構(gòu)造函數(shù)是對兩個數(shù)據(jù)成員進行初始化,其它的數(shù)據(jù)成員為隨機值。第三個構(gòu)造函數(shù)是對所有的數(shù)據(jù)成員進行初始化。

二、析構(gòu)函數(shù)

在C++中,構(gòu)造函數(shù)是創(chuàng)建一個對象時,那么析構(gòu)函數(shù)則是這個對象由生到死的死亡過程。同時析構(gòu)函數(shù)也在析構(gòu)對象時可以將已經(jīng)分配的內(nèi)存空間進行回收。

析構(gòu)函數(shù)如上所示,它無類型、無參數(shù)、無返回值,如果在構(gòu)造對象時沒有進行空間的開辟內(nèi)存的分配時,那么

析構(gòu)函數(shù)如同默認(rèn)的析構(gòu)函數(shù)一樣,如果進行了內(nèi)存的分配時,當(dāng)一個對象被析構(gòu)時同時還要對其所分配的內(nèi)存進行回收,否則就會造成內(nèi)存泄漏。

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

在C++中,如果在構(gòu)造函數(shù)中有申請內(nèi)存的操作,且在其他函數(shù)中出現(xiàn)對象的拷貝,那么就會需要拷貝構(gòu)造函數(shù)。

由于在主函數(shù)中出現(xiàn)了對對象的拷貝賦值,那么就需要拷貝構(gòu)造函數(shù),如果沒有拷貝構(gòu)造函數(shù),則會使用默認(rèn)的

拷貝構(gòu)造函數(shù),那么此時進行的是淺拷貝,那么會產(chǎn)生析構(gòu)函數(shù)對內(nèi)存重復(fù)釋放的錯誤。那么此時就需要進行深拷貝

操作,重新編寫拷貝構(gòu)造函數(shù)對對象進行拷貝賦值。而在編寫拷貝構(gòu)造函數(shù)時要注意參數(shù)必須是“&”引用傳遞,否則

則是語法錯誤。

四、賦值函數(shù)

在C++中,賦值函數(shù)為第四個函數(shù),如果在構(gòu)造函數(shù)中有申請內(nèi)存的操作,且在其他程序中有兩個對象直接或間接

進行賦值操作,就需要賦值函數(shù)。

由于在主函數(shù)中進行了對象的賦值操作,如果沒有對“=”運算符進行重載定義,則會產(chǎn)生兩次釋放同一個內(nèi)存的

操作的錯誤。在“=”重載操作中,如果涉及到指針操作,則必須判斷兩個對象是否為同一個對象即自賦值操作,否則

當(dāng)進行釋放指針的操作時,就可能產(chǎn)生錯誤。然后要用delete釋放原有的內(nèi)存資源,否則將造成內(nèi)存泄漏。

五、對一般對象的取址函數(shù)

在C++中,對一般對象的取址函數(shù)為第五個函數(shù)。

在一般對象的取址函數(shù)是直接返回該對象的地址,則為取其地址。

六、對常對象的取址函數(shù)

在C++中,對常對象的取址函數(shù)為第六個函數(shù)。

在常對象的取址函數(shù)也是直接返回該常對象的地址,則為取其地址。


本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
C++構(gòu)造函數(shù)和析構(gòu)函數(shù)
C++拷貝構(gòu)造函數(shù)與賦值函數(shù)【整理】
c 三五法則(適合學(xué)完一遍不怎么清楚的童鞋)
linux C/C++服務(wù)器后臺開發(fā)面試題總結(jié)
計算機專業(yè)面試寶典
c++中類的默認(rèn)構(gòu)造函數(shù),析構(gòu)函數(shù),拷貝構(gòu)造函數(shù)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服