0

我正在尝试使用使用“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;

}
4

0 回答 0