码迷,mamicode.com
首页 > 编程语言 > 详细

C++类成员对象析构问题

时间:2015-05-03 12:02:24      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:c++

当执行delete c时,析构Test 时(delete p)会出现问题。原因在哪里??
解决方案

代码块

#include <iostream>
using namespace std;

class Test
{
public:
    Test()
    {

    }
    ~Test()
    {
        cout<<"Test destructor"<<endl;
        if(p!=NULL)
        delete p;
    }
private :
    int *p;
};

class Test1
{
public:
    Test1()
    {

    }
    ~Test1()
    {
        cout<<"Test1 destructor"<<endl;
    }
};

class Test2
{
public:
    Test2()
    {

    }
    ~Test2()
    {
        cout<<"Test2 destructor"<<endl;
    }
private:
    Test a;
    Test1 b;
};

int main()
{
    Test2 *c=new Test2;
    delete c;
    //system("pause");
    return 0;
}

C++类成员对象析构问题

标签:c++

原文地址:http://blog.csdn.net/greenapple_shan/article/details/45457339

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!