Pitanje:
Zar nebi trebao program da se srusi u liniji 55 gdje se pokusava pristupit pokazivacu its_age, odnosno promjenit njegova vrijednost, preko funkcije Set_age, jer je u liniji 54 pozvan destruktor u kojem se its_age postavlja na NULL, a pokazivac na NULL ne pokazuje na nista (koliko ja znam

#include <iostream>
class Cat
{
private:
int * its_age;
public:
Cat(int age)
{
using namespace std;
its_age = new int;
*its_age = age;
cout << "\n******Konstruktor*****\n";
}
~Cat()
{
using namespace std;
delete its_age;
its_age = NULL;
cout << "****Destruktor*****\n";
}
int Get_age() {return *its_age;}
void Set_age(int n_age) {*its_age =n_age;}
};
int main()
{
using namespace std;
Cat * frisky = new Cat(10);
Cat &r_cat = *frisky;
int x;
cout << "\nPreko pokazivaca: " << "frisky ima: " << frisky->Get_age() << " godina" << endl;
cout << "Preko reference:" << "frisky ima: " << r_cat.Get_age() << " godina" << endl;
cout << "Unesite godine za frisky: ";
cin >> x;
r_cat.Set_age(x);
cout << "\nSada frisky ima: " << r_cat.Get_age() << " godina" << endl;
delete frisky;
cout << "Unesite ponovo godine za frisky: ";
cin >> x;
frisky->Set_age(x); //zar nebi trebao sad program da se srusi???
cout << "\nSada frisky ima: " << frisky->Get_age() << " godina" << endl;
system ("pause");
return 0;
}