首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

搞不懂了,该如何解决

2012-02-24 
搞不懂了在这样的视平中,http://ftp5-idc.pconline.com.cn/pub/download/ftpdown/pcsoft/pcedu/video/fanl

搞不懂了
在这样的视平中,
http://ftp5-idc.pconline.com.cn/pub/download/ftpdown/pcsoft/pcedu/video/fanlei/c++/8/c015.html
它说下面的代码要释放对象的,可是在Vs2008中却没有释放

C/C++ code
//#include "A.h"#include <iostream>using namespace std;class C{    public :        C(){cout<<"构造C对象...\n"<<endl;i=new int(99);}        ~C(){cout<<"释放对象....\n"<<endl;delete i;}//在视频中说的要执行的,可在Vs2008中不执行private:    int *i;};int main(){    C c;    system("pause");      return 0;}


[解决办法]
探讨
在这样的视平中,
http://ftp5-idc.pconline.com.cn/pub/download/ftpdown/pcsoft/pcedu/video/fanlei/c++/8/c015.html
它说下面的代码要释放对象的,可是在Vs2008中却没有释放

C/C++ code

//#include "A.h"
#include <iostream>
using na……

[解决办法]
C是Main里面的局部变量,它是在Main函数退出后才析构的,你把断点直接下到析构函数里面去,这个会被调用的
[解决办法]
程序退出没?main退出时才析构啊,你pause了,还没到析构的时候呀
[解决办法]
是在main函数出来的时候清除局部变量c,于是调用析构函数。

楼主可以用命令行运行该程序,就可以看到析构函数的执行了。

[解决办法]
跟IDE环境有关,而且照正常来说,你的对象还没有离开它的作用域呢!怎么会析构呢!
[解决办法]
跟IDE环境有关,而且照正常来说,你的对象还没有离开它的作用域呢!怎么会析构呢!

热点排行