Re: [問題] Virtual函數在Destructor內的問題
剛剛自己找到答案了XD
http://www.artima.com/cppsource/nevercall.html
大概是說不要在 Constructor 和 Destructor 內呼叫 virtual function
因為新建 object 時,會先呼叫 base class 的 constructor
此時 derived class 的 data 還沒被初始化
若是在這個時候就呼叫 derived class 的 virtual function 會產生不可預期的後果
而在刪除 object 時,會先呼叫 derived class 的 destructor
當呼叫到 base class 的 destructor 時,derived class 的 data 已經被清掉了
此時呼叫 virtual function 也是會產生不可預期的後果
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.215.187
→
07/07 17:11, , 1F
07/07 17:11, 1F
推
07/07 17:24, , 2F
07/07 17:24, 2F
推
07/07 23:03, , 3F
07/07 23:03, 3F
→
07/07 23:03, , 4F
07/07 23:03, 4F
→
07/08 00:10, , 5F
07/08 00:10, 5F
推
07/08 03:27, , 6F
07/08 03:27, 6F
→
07/08 03:28, , 7F
07/08 03:28, 7F
推
07/08 07:44, , 8F
07/08 07:44, 8F
→
07/08 12:19, , 9F
07/08 12:19, 9F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):