析構(gòu)函數(shù)為什么是虛函數(shù) c 構(gòu)造函數(shù)中使用new,析構(gòu)函數(shù)用delete刪除,出錯(cuò)?
c 構(gòu)造函數(shù)中使用new,析構(gòu)函數(shù)用delete刪除,出錯(cuò)?因此,具有指針成員的類必須定義一個(gè)復(fù)制構(gòu)造函數(shù),否則默認(rèn)的復(fù)制構(gòu)造函數(shù)將直接復(fù)制指針的地址,而A3。Add(A1,A2)將以這種方式出現(xiàn),
c 構(gòu)造函數(shù)中使用new,析構(gòu)函數(shù)用delete刪除,出錯(cuò)?
因此,具有指針成員的類必須定義一個(gè)復(fù)制構(gòu)造函數(shù),否則默認(rèn)的復(fù)制構(gòu)造函數(shù)將直接復(fù)制指針的地址,而A3。Add(A1,A2)將以這種方式出現(xiàn),當(dāng)臨時(shí)變量A1和A2在函數(shù)中生存時(shí)釋放指針,原來(lái)的A1和A2的指針空間也將被釋放。因?yàn)樗堑刂返母北?,所以臨時(shí)變量使用與原始對(duì)象中指針成員相同的地址,外加自定義副本構(gòu)造函數(shù)。注意你的析構(gòu)函數(shù)也是錯(cuò)誤的