您当前的位置: 首页 >  c++

令狐掌门

暂无认证

  • 2浏览

    0关注

    513博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

C++ 代理模式

令狐掌门 发布时间:2021-04-11 21:55:46 ,浏览量:2

  代理模式(PROXY),也称为委托模式,作用就是找一个对象来替我们访问某个对象,就像租房子,需要找中介,中介就是属于代理。

  租房子模型

#include 
#include 
using namespace std;

class Person
{
public:
    virtual void rentHouse() = 0;
};


class Mike :public Person
{
public:
    void rentHouse()
    {
        cout () const noexcept
	{	// return pointer to class object
#if _ITERATOR_DEBUG_LEVEL == 2
		_STL_VERIFY(_Myptr, "auto_ptr not dereferencable");
#endif /* _ITERATOR_DEBUG_LEVEL == 2 */
 
		return (get());
	}
 
	_NODISCARD _Ty * get() const noexcept
	{	// return wrapped pointer
		return (_Myptr);
	}
 
	_Ty * release() noexcept
	{	// return wrapped pointer and give up ownership
		_Ty * _Tmp = _Myptr;
		_Myptr = nullptr;
		return (_Tmp);
	}
 
	void reset(_Ty * _Ptr = nullptr)
	{	// destroy designated object and store new pointer
		if (_Ptr != _Myptr)
			delete _Myptr;
		_Myptr = _Ptr;
	}
 
private:
	_Ty * _Myptr;	// 接收外部穿过来的指针
};

  智能指针类实现了指针的常用操作,代理普通指针进行相关行为。

关注
打赏
1652240117
查看更多评论
立即登录/注册

微信扫码登录

0.0605s