对象

来源:互联网 发布:淘宝使劲互刷收藏怕吗 编辑:程序博客网 时间:2024/04/27 10:31

在Lessons11 课程  图形不能重绘的原因

1)、首先构造CPtrArray 对象

2)、再构造CGraph类对象,其为局部对象,因此在栈中分配空间

3)、当调用集合类中Add方法,将对象地址作为来存的元素,加载进去,当OnLButtonUp函数执行完成

之后,因为graph是局部的对象,生命周期结束,发生析构,内存被回收,虽然仍然保存了内存的地址,但当索引

内存当中对象时,它已经不存在了。


解决问题?

1)、申请CPtrArray对象;

2)、CGraph *pGraph;

3)、pGrap = new Graph(……);在堆中分配,内存,如果说不显式地调用Delete方法

去释放对象,那么这个对象的生命周期和应用程序保持一致。