为什么析构函数不会破坏类的成员变量?

时间:2016-12-30 09:15:56

标签: c++ class pointers destructor destroy

MyPointer类的析构函数是不是要销毁ptr对象及其所有成员?似乎析构函数已经运行,但是我不明白为什么在析构函数运行后ptr的'number'仍然存在。

#include <iostream>

using namespace std;

int* integerptr;

class MyPointer{
public:
    MyPointer(int arg);
    ~MyPointer();
    int number;
};

MyPointer::MyPointer(int arg):
    number(arg)
    {}

MyPointer::~MyPointer(){
    cout<<"Object Destroyed"<<endl;
}

int create_obj(){
    MyPointer ptr(3);
    integerptr=&ptr.number;
    cout<<integerptr<<"-->"<<*integerptr<<endl;
    return 0;
}
int main()
{
    create_obj();
    cout<<integerptr<<"-->"<<*integerptr<<endl;
    return 0;
}

以下是终端的输出:

0x61fefc-->3
Object Destroyed
0x61fefc-->3

0 个答案:

没有答案