2007/01/22

Copy Constructor与Virtual Function

没想到这种格式的写法下:

CString str = "";

编译器是直接调用Copy Constructor。我没有在Copy Constructor中初始化指针,但是在调用的Copy函数中首先释放指针的内存:

if (m_p) MemPtrFree(m_p);

结果就是完蛋了。

另外,所有的Virtual函数在弹出窗口模式下都无法使用,这可能和Virutal Function的表是全局变量有关,对编译原理我不是很熟,猜想应该是这样的原因造成的吧。

No comments: