一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

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.

php技術php中拷貝構造函數、賦值運算符重載,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 日产一一到六区麻豆 | 午夜免费在线 | 久久久久久麻豆 | 亚亚洲乱码一二三四区 | 亚色在线播放 | 成人激情综合网 | 国产成人亚洲精品影院 | 极品美女一级毛片 | 久久精品乱子伦免费 | 久久夜色精品国产飘飘 | 91麻豆视频 | 亚洲国产小视频 | 国产乱了 | 97国内免费久久久久久久久久 | 日本三级韩国三级美三级91 | 深夜福利一区 | 久久亚洲综合网 | 中文字幕精品视频在线观 | 激情小说图 | 美女网站黄 | 亚洲二区在线播放 | 色小妹在线| 韩国精品一区二区三区四区五区 | 亚洲五月综合 | 天天在线影院天天在线视频 | 六月婷婷七月丁香 | 午夜激情免费视频 | 美女视频黄.免费网址 | 亚洲天堂久久 | 夜色成人免费观看 | www.色网站| 亚洲天堂久久 | 日韩成人免费在线 | 亚洲美女色视频 | 色婷婷色综合缴情在线 | 亚洲日本1区2区3区二区 | 韩国精品一区视频在线播放 | 久久er精品热线免费 | 激情小说图片区 | 在线观看欧美视频 | 一本久道久久综合多人 |