I decided to implement a simple smart pointer class in C++ name my_pointer. Please review this code.
#include <iostream>
using namespace std;
class my_pointer {
private:
int *data;
public:
explicit my_pointer(int *p = nullptr) : data(p) {}
int& operator *() {
return *data;
}
~my_pointer() {
delete data;
data = nullptr;
}
};
int main() {
int *p = new int;
*p = 50;
my_pointer pointer(p);
cout << *pointer;
return 0;
}