1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
#include <iostream> using namespace std; class Test { public: Test() { cout << "Test()" << endl; } ~Test() { cout << "~Test()" << endl; } void Display() { cout << "This is the Test()" << endl; } }; class TestController { public: TestController() { this->test_ = new Test(); } ~TestController() { delete this->test_; } Test* operator ->() { return this->test_; } private: Test* test_; }; int main() { TestController tController; tController->Display(); return 0; } |
通过包装一个类,重载指针运算符,完成对一个在堆上开辟空间的释放
转载请注明:Imekaku-Blog » 【C++语法实践】05-C++实现简单智能指针