I Have just created a class with an integer variable and a pointer variable. After creating its object , I passed it to a function. Even after returning the function the program is not throwing the exception

```
#include"iostream"
using namespace std;

class A
{

public :

    int i;

    char *c;

    void show();

};

void func(A obj);

int main()
{

    A a;

    a.i = 10;

    a.c = "string";

    cout << " Before Fun " << endl;

    a.show();

    cout << " Going To Call func " << endl;

    func(a);

    cout << " After func " << endl;

    a.show();

    return 0;

}

void A::show()
{
    cout << " The valuses in Object are " << i << '\t' << c  << endl;
}

void func(A aa)
{       
    cout << " The valuses in Object are " << aa.i << '\t' << aa.c  << endl;  
}

```

In The Func I am passing the object a (from main) and it would get copied in aa (stack of func). so after returning from the func if i call show ( the pointer c would be null of a), It would give me exception
But it is not happening . please help me to prove the requirement of copy constructor