一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php中拷貝構造函數、賦值運算符重載

php中拷貝構造函數、賦值運算符重載

2020-01-06 15:52PHP教程網 PHP教程

php中拷貝構造函數、賦值運算符重載方法, 需要的朋友可以參考下

對象的賦值與復制: 賦值:通過“ = ”運算符重載
User a(10),b;
b = a;
復制:調用復制構造函數
User b;
User a(b);
或者
User a = b;//相當于User a(b);
與賦值的區別,賦值是對一個已經存在的對象進行賦值(已經實現定義了被賦值的對象),而復制是從無到有建立一個新的對象,并使它與已有的對象相同。
淺復制與深復制: 若對象中有指針成員,在復制時,只會將該指針成員的地址復制給新建立的對象,因此,兩個對象中的指針成員都指向了同一塊內存區域,在釋放時會出現重復釋放的問題。 需要手動定義復制構造函數,在構造函數中將為指針變量分配新的內存,是不同對象的指針成員指向不同的內存區域。
用到拷貝構造函數的三種情況: 1、需要建立一個新對象,并用另一個同類對象對其進行初始化 2、函數的參數為類的對象時,在調用函數時需要建立一個實參的拷貝,按實參復制一個形參,系統是通過調用拷貝構造函數實現的 3、函數的返回值是類的對象:函數調用結束時,需要將函數中的對象復制一個臨時對象,并傳給該函數的調用處。

復制代碼代碼如下:


User getUser()
{  
User temp;  
return temp;
}
int main()
{  
User user = getUser();//調用getUser();
}


getUser()函數調用結束時,getUser中建立的對象temp的生命周期結束(即將銷毀),所以不是將temp帶回main,而是在執行return語句時,調用User類的拷貝構造函數,按temp拷貝一個新的、對象,然后將它賦值給user.

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 男人与雌性宠物交啪啪小说 | 国产高清视频一区二区 | heyzo1754北岛玲在线视频 | jk制服蕾丝超短裙流白浆 | ck7788免费视频 | 我和子伦系列小说 | 169pp美女| 国产精品密播放国产免费看 | 女张腿男人桶羞羞漫画 | 国产成人免费片在线视频观看 | 湿好紧太硬了我太爽了 | 午夜精品网站 | 国产剧情一区二区三区 | 免费在线视频成人 | 免费一级片在线观看 | 亚洲四虎| 国产理论片在线观看 | 国产黄频 | 99精品视频一区在线观看miya | 亚洲大片免费观看 | 放荡护士玩3p口述 | 性猛交娇小69hd | 国产精品久久久久久久久久久威 | 九九热在线观看视频 | www.色老板 | 国产精品久久国产精品99盘 | 好性20岁 | 天堂日韩 | free chinese 国产精品 | 九九免费精品视频 | 久久精品无码一区二区日韩av | 国产午夜亚洲精品一区网站 | 欧美日韩国产另类一区二区三区 | 韩国三级动漫 | 成人精品区 | 欧美日韩精品一区二区三区视频在线 | 人人揉揉香蕉 | 国产精品欧美亚洲韩国日本 | 四虎欧美 | 大香人蕉免费视频75 | 亚洲精品免费在线 |