When we call constructor explicitly then destructor also get called explicitly, so i tried deleting some dynamically allocated variable when destructor is called after putting it in a variable. But when i print that variable after destrucutor call it is still not deleted
#include<bits/stdc++.h>
using namespace std;
class Node{
public:
int *ptr;
Node(){
ptr = new int(5);
cout<< ptr <<endl;
cout<<"Constructor Called\n";
}
~Node(){
delete ptr;
ptr = nullptr;
cout<<"Destructor Called\n";
}
};
int main(){
int *ptrOfClass = Node().ptr;
cout<<"Hi\n";
cout<< *ptrOfClass <<endl;
return 0;
}
Output
0xf7bad0
Constructor Called
Destructor Called
Hi
5