在Lessons11 课程 图形不能重绘的原因
1)、首先构造CPtrArray 对象
2)、再构造CGraph类对象,其为局部对象,因此在栈中分配空间
3)、当调用集合类中Add方法,将对象地址作为来存的元素,加载进去,当OnLButtonUp函数执行完成
之后,因为graph是局部的对象,生命周期结束,发生析构,内存被回收,虽然仍然保存了内存的地址,但当索引
内存当中对象时,它已经不存在了。
解决问题?
1)、申请CPtrArray对象;
2)、CGraph *pGraph;
3)、pGrap = new Graph(……);在堆中分配,内存,如果说不显式地调用Delete方法
去释放对象,那么这个对象的生命周期和应用程序保持一致。