[問題]無法呼叫解構子
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )
遇到的問題: (題意請描述清楚)
無法呼叫解構子
希望得到的正確結果:
程式跑出來的錯誤結果:
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
VS2005
有問題的code: (請善用置底文標色功能)
請問各位大大,小弟宣告了一個class如下
class MyString
{
private:
char *m_pstr;
public:
MyString(int len);
MyString Fun();
~MyString();
MyString& operator=(const MyString &str);
};
MyString::MyString(int len)
{
m_pstr = new char[len];
}
MyString::~MyString()
{
if (m_pstr != NULL)
{
delete[] m_pstr;
m_pstr = NULL;
}
}
MyString MyString::Fun()
{
MyString mystr(20);
....
return mystr;
}
當我宣告一個MyString mystr1(5), mystr2;
並執行到 mystr2 = mystr1.Fun();
發現Fun()裡的 mystr不會呼叫解構子
請問各位大大,要如何才能呼叫到解構子 感謝
補充說明:
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.248.234.227
推
08/21 01:25, , 1F
08/21 01:25, 1F
→
08/21 01:27, , 2F
08/21 01:27, 2F
→
08/21 01:27, , 3F
08/21 01:27, 3F
→
08/21 01:28, , 4F
08/21 01:28, 4F
→
08/21 01:28, , 5F
08/21 01:28, 5F
→
08/21 01:32, , 6F
08/21 01:32, 6F
→
08/21 01:34, , 7F
08/21 01:34, 7F
推
08/21 01:59, , 8F
08/21 01:59, 8F
→
08/21 02:05, , 9F
08/21 02:05, 9F
→
08/21 02:09, , 10F
08/21 02:09, 10F
→
08/21 02:09, , 11F
08/21 02:09, 11F
推
08/21 09:19, , 12F
08/21 09:19, 12F
→
08/21 09:19, , 13F
08/21 09:19, 13F
→
08/21 11:44, , 14F
08/21 11:44, 14F
→
08/21 11:46, , 15F
08/21 11:46, 15F
→
08/21 11:47, , 16F
08/21 11:47, 16F
→
08/21 12:03, , 17F
08/21 12:03, 17F
→
08/21 12:04, , 18F
08/21 12:04, 18F
推
08/21 12:53, , 19F
08/21 12:53, 19F
→
08/21 12:54, , 20F
08/21 12:54, 20F
推
08/21 13:04, , 21F
08/21 13:04, 21F
→
08/21 13:21, , 22F
08/21 13:21, 22F
→
08/21 13:26, , 23F
08/21 13:26, 23F
→
08/21 13:26, , 24F
08/21 13:26, 24F
→
08/21 13:27, , 25F
08/21 13:27, 25F
→
08/21 13:27, , 26F
08/21 13:27, 26F
推
08/21 13:29, , 27F
08/21 13:29, 27F
→
08/21 13:29, , 28F
08/21 13:29, 28F
→
08/21 13:30, , 29F
08/21 13:30, 29F
→
08/21 13:32, , 30F
08/21 13:32, 30F
→
08/21 13:32, , 31F
08/21 13:32, 31F
→
08/21 13:33, , 32F
08/21 13:33, 32F
→
08/21 13:34, , 33F
08/21 13:34, 33F
→
08/21 13:34, , 34F
08/21 13:34, 34F
→
08/21 13:35, , 35F
08/21 13:35, 35F
→
08/21 13:37, , 36F
08/21 13:37, 36F
→
08/21 13:37, , 37F
08/21 13:37, 37F
→
08/21 13:38, , 38F
08/21 13:38, 38F
→
08/21 13:39, , 39F
08/21 13:39, 39F
→
08/21 13:39, , 40F
08/21 13:39, 40F
→
08/21 13:39, , 41F
08/21 13:39, 41F
→
08/21 13:40, , 42F
08/21 13:40, 42F
→
08/21 13:41, , 43F
08/21 13:41, 43F
→
08/21 13:48, , 44F
08/21 13:48, 44F
→
08/21 13:53, , 45F
08/21 13:53, 45F
→
08/21 13:54, , 46F
08/21 13:54, 46F
→
08/21 15:16, , 47F
08/21 15:16, 47F
→
08/21 15:17, , 48F
08/21 15:17, 48F
→
08/21 15:17, , 49F
08/21 15:17, 49F
→
08/21 20:11, , 50F
08/21 20:11, 50F
→
08/21 20:11, , 51F
08/21 20:11, 51F
→
08/21 20:13, , 52F
08/21 20:13, 52F
→
08/21 20:13, , 53F
08/21 20:13, 53F