[問題] class 成員問題

看板C_and_CPP (C/C++)作者時間13年前 (2012/07/28 18:43), 編輯推噓1(105)
留言6則, 2人參與, 最新討論串1/1
我在class A 中宣告另一class當作其成員 class A { A() {xxx = new B [5];} B * xxx; } 之後我程式會在呼叫B的constructor ex: xxx[0] = B(x,y,z); xxx[1] = B(a,b,c); 問題出現了 xxx[1]會將xxx[0]的資料蓋過去 另一個問題我發現 為什麼在呼叫B(x,y,z)之後會立刻執行B的deconstructor? 我不是將他存在xxx[0]裡了嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.172.59

07/28 18:47, , 1F
問題二 那一行 B(x,y,z) 建立了暫時物件 由 = 複製過去
07/28 18:47, 1F

07/28 18:47, , 2F
然後這個暫時物件消失 所以會執行 dtor
07/28 18:47, 2F

07/28 18:48, , 3F
問題一你可能要給一下 B 的實作
07/28 18:48, 3F

07/28 18:59, , 4F
謝謝你 LPH66 我知道問題了
07/28 18:59, 4F

07/28 19:00, , 5F
我在B的dtor delete掉在constructor new 出來的東西
07/28 19:00, 5F

07/28 19:00, , 6F
所以才會有這問題@@
07/28 19:00, 6F
文章代碼(AID): #1G4y9a54 (C_and_CPP)
文章代碼(AID): #1G4y9a54 (C_and_CPP)