首页 > 其他 > 详细

代理模式

时间:2014-05-06 11:35:53      阅读:412      评论:0      收藏:0      [点我收藏+]

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

Pursuit 通过 Proxy 送给SchoolGirl 礼物.

 

bubuko.com,布布扣
#pragma once
class IGiveGift
{
public:
    virtual void GiveDolls()=0;
    virtual void GiveFlowers()=0;
    virtual void GiveChocolate()=0;
};
bubuko.com,布布扣

 

bubuko.com,布布扣
#pragma once
#include "igivegift.h"
#include "SchoolGirl.h"
#include "Pursuit.h"
class Proxy :
    public IGiveGift
{
public:
    Proxy(SchoolGirl mm)
    {
        GG = new Pursuit(mm);
    }
    ~Proxy(void);
    virtual void GiveDolls()
    {
        GG->GiveDolls();
    }
    virtual void GiveFlowers()
    {
        GG->GiveFlowers();
    }
    virtual void GiveChocolate()
    {
        GG->GiveChocolate();
    }
private:
    Pursuit *GG;
};
bubuko.com,布布扣

 

bubuko.com,布布扣
#pragma once
#include "Igivegift.h"
#include "SchoolGirl.h"
#include <iostream>
class Pursuit :
    public IGiveGift
{
public:
    Pursuit(SchoolGirl mn):mm(mn){}
    ~Pursuit(void);
    virtual void GiveDolls()
    {
        cout<<mm.getName()<<":送你洋娃娃"<<endl;
    }
    virtual void GiveFlowers()
    {
        cout<<mm.getName()<<":送你花朵"<<endl;
    }
    virtual void GiveChocolate()
    {
        cout<<mm.getName()<<":送你巧克力"<<endl;
    }
private:
    SchoolGirl mm;
};
bubuko.com,布布扣

 

bubuko.com,布布扣
#pragma once
#include <string>
using namespace std;
class SchoolGirl
{
public:
    SchoolGirl(string na):name(na){}
    string getName()
    {
        return name;
    }
    ~SchoolGirl(void);
private:
    string name;
};
bubuko.com,布布扣

 

main方法

bubuko.com,布布扣
#include "stdafx.h"
#include "Proxy.h"
#include "SchoolGirl.h"


int _tmain(int argc, _TCHAR* argv[])
{
    SchoolGirl girl("孙晓红");
    Proxy daili(girl);
    daili.GiveChocolate();
    daili.GiveDolls();
    daili.GiveFlowers();
    return 0;
}
bubuko.com,布布扣

 

代理模式,布布扣,bubuko.com

代理模式

原文:http://www.cnblogs.com/crazycodehzp/p/3710631.html

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