当前位置:  技术问答>linux和unix

请看我的析构函数释放内存有错误么?

    来源: 互联网  发布时间:2015-11-15

    本文导语:  就是下面的这种情况 #include class son; class father { public: int i; son* p_m_son; father() { i = 0; } virtual void output() { printf("this is fathern"); } ~father() { delete p_m_son; } }; class son : public father { public: void output() {...

就是下面的这种情况
#include
class son;
class father
{
public:
int i;
son* p_m_son;
father()
{
i = 0;
}
virtual void output()
{
printf("this is fathern");
}
~father()
{
delete p_m_son;
}
};
class son : public father
{
public:
void output()
{
father::output();
printf("this is sonn");
}
};
int
main ()
{
son    s;
s.output();
printf("i:%dn", s.i);
return 1;
}
在cygwin下面

|
析构~father()
{
delete p_m_son;
}
用到了son的定义,但前边只有声明。
在father的构造里要p_m_son=NULL
father的析构必须声明为virtual,否则多态析构会有问题。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 关注ejb培训的请看过来,开课在即,欲报名赶紧联系!
  • servlet加weblogic高手请看看 iis7站长之家
  • 请看看(20分)
  • servlet加weblogic高手请看看
  • 怪怪问题,请看。
  • 路人甲请看这个问题。。分数随你开。。。。
  • 求助!请看一下。
  • 请看一下!
  • 请看,这是什么意思?
  • 请看一下这个句简单的问题(关于Debug)
  • 提供一个jcreator pro 2.5下载的地方,需要的请看!(含注册码)
  • 请看看这个ftp有什么问题
  • 字符串能以流的方式保存到文件中吗?请看这个问题
  • 如何比较时间大小,,请看!!
  • 能者请看!多多益善!
  • 高手请看过来,我有些问题,我是新手.关于线程的!
  • 高手请看
  • 请看我这个String[]的错误
  • 安装QMAIL出错,请看看
  • 请看!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3