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