首页 > 其他 > 详细

只能指针的简单实现

时间:2014-03-10 04:57:11      阅读:494      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
#include<stdio.h>
#include<memory>
#include<iostream>
using namespace std;

template <class T>
class smartpointer  //智能指针的实现
{
private:
    T *_ptr;
public:
    smartpointer(T *p) : _ptr(p)  //构造函数
    {
    }
    T& operator *()        //重载*操作符
    {
        return *_ptr;
    }
    T* operator ->()       //重载->操作符
    {
        return _ptr;
    }
    ~smartpointer()        //析构函数
    {
        delete _ptr;
    }
};

class data{
public:        
    int a;
    int b;

    void fun(){
        printf("data\n");
    }
    void show(){
        printf("a = %d b = %d\n",a,b);
    }
    ~data(){
        printf("free\n");
    }
};

void Fun(){
    smartpointer<data>m_example(new data());

    m_example->fun();
    m_example->a=1;
    m_example->b=1;
    m_example->show();
}

int main(){

    Fun();
    getchar();
}
bubuko.com,布布扣

只能指针的简单实现,布布扣,bubuko.com

只能指针的简单实现

原文:http://www.cnblogs.com/huhuuu/p/3590568.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!