设计模式--代理模式

代理模式

在我们的生活中代理的例子是非常多,对我们IT人员最直接的就是上Google,由于GFW屏蔽了Google,因此我们需要通过代理访问Google。
还有我们买火车票,有些人买不到,通过黄牛作为一个中介买车票。黄牛就是一个代理。


设计模式中定义: 为其他对象提供一种代理以控制对这个对象的访问.


#include <iostream>
using namespace std;
class girl
{
public:
    int get_num(){
        return num;
    }
    void set_num(int number){
        num = number;
    }
private:
    int num;
};

class sendGift
{
public:
    virtual void sendBread() = 0;
    virtual void sendFlower() = 0;
};

class love : public sendGift
{
public:
    love(girl *pgirl){
       MM333 = pgirl;
    }
    void sendBread(){
       cout<<"send MM333 bread"<<endl;
    }
    void sendFlower(){
       cout<<"send MM333 flower"<<endl;
    }
private:
    girl *MM333;
};

class proxy : public sendGift
{
public:
    proxy(girl *pgirl){
        GG666 = new love(pgirl) ;
    }
    void sendBread(){
        GG666->sendBread();
    }
    void sendFlower(){
        GG666->sendFlower();
    }
private:
    love *GG666;
};

int main(int argc, char *argv[])
{
    girl *pgirl = new girl();
    pgirl->set_num(100);

    proxy *pproxy = new proxy(pgirl);
    pproxy->sendBread();
    pproxy->sendFlower();
    return 0;
}

以上代码逻辑:由于男孩见不到女孩,只能向女孩的num发送礼物。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值