#include <iostream>
class Example {
public:
Example() {
std::cout << "Example()" << "\n";
}
~Example() {
std::cout << "~Example()" << "\n";
}
};
class ScopePointer {
private:
Example* m_Ptr;
public:
ScopePointer(Example *p) : m_Ptr(p) {}
~ScopePointer() {
delete m_Ptr;
}
};
int main() {
{
ScopePointer sp = new Example();
}
}
/*
run:
Example()
~Example()
*/