#include <iostream>
using namespace std;
class BaseClass
{
public:
    BaseClass(int i)
    {
        data = i;
        cout << "_____BaseClass()____" << endl;
    }
    ~BaseClass()
    {
        data = -99;
        cout << "_____~BaseClass()____" << endl;
    }
    void Fun()
    {
        cout << "_____Fun()____" << data << endl;
    }
    int data;
};
int main()
{
    BaseClass *b = NULL;
    {
        BaseClass b1(300);
        b = &b1;
    }
    b->Fun();
    return 0;
}
Instance b1 is created in a segment and its life is limited to that segment. I am not able to understand how the data and methods are accessible even after destructor.
 
     
     
    