Re: [問題]C++ Destuctor跟Delete

作者: yilanP (Train Station)   2017-04-28 18:39:10
工作平台 : Win10
編譯器 : CodeBlock
附上程式碼縮網址 http://goo.gl/4LtrL7
裡面有三個檔案分別是
BigNumber.h main.cpp Prime.cpp
目前網址中的 destructor 是不會 delete data的
可以順利地跑出後面兩個程式
不過問題是跑Prime.cpp的時候
如果執行時間過久就會bad_allocate
約使用到 1.xG .....
然而修改 destructor ,讓他會delete data
我的main.cpp 在 constructor 執行後
他應該有的數值就會跑掉
如圖所示
http://imgur.com/Ti97MK2.jpg
Plaintext 的那行是在main裡面呼叫印出來的
前一行是在constructor 的最後一行cout的
http://imgur.com/Kjp9RBq.jpg
在這三行之間數值就直接跑掉...
作者: a27417332 (等號卡比)   2017-04-28 22:05:00
粗淺地看下,感覺是因為你賦值跟複製沒弄好
作者: yilanP (Train Station)   2017-04-28 22:15:00
剛剛google了一下賦值跟拷貝…我都沒寫也完全不知道感謝樓上
作者: pttworld (批踢踢世界)   2017-04-28 22:38:00
Ans寫法不對
作者: yilanP (Train Station)   2017-04-28 22:40:00
想問樓上正確要怎麼寫?或是google關鍵字 中英皆可
作者: hunandy14 (Charlott.HonG)   2017-04-29 10:45:00
.h 裡面怎麼一起放了定義26行 執行 Encryption 的時候返回會 啟動複製函式更正複製建構子
作者: chchwy (mat)   2017-04-29 11:03:00
補上copy contrcutor跟asssignment operator應該就會正常
作者: LPH66 (-6.2598534e+18f)   2017-04-29 12:26:00
基本觀念(關鍵字): Rule of Three / Rule of Five
作者: yilanP (Train Station)   2017-04-29 12:43:00
感謝樓上各位的回答,多了copy constructor跟assign operator後就正常了lph66的回答我也會去看的謝謝了

Links booklink

Contact Us: admin [ a t ] ucptt.com