我正在尝试使用使用“new”分配内存的指针来访问类中的函数。但我注意到了一种不同的行为。曾经,使用“删除”和引用 NULL 来释放对象,它仍然能够访问函数,但不能访问变量。当我尝试这样做时,我收到分段错误。有人可以解释吗?提前致谢!
#include <iostream>
using namespace std;
class A
{
public:
int ba;
A()
{
ba=10;
}
void func1()
{
cout<<"func1 is called\n";
}
void func2()
{
cout<<"func2 is called\n";
}
};
int main()
{
A *ptr=new A();
ptr->func1();
cout<<ptr->ba;
delete ptr;
ptr=NULL;
ptr->func2();
//cout<<ptr->ba;
return 0;
}