码迷,mamicode.com
首页 > 编程语言 > 详细

代理模式之C++实现

时间:2014-06-25 09:11:57      阅读:321      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   code   color   get   


#include "stdafx.h"
#include <iostream>
#include <string>
#include <map>
using namespace std;

class ForeignGoods
{
private:
    string name;
public:
    ForeignGoods(string name)
    {
        this->name = name;
    }

    string GetName()
    {
        return this->name;
    }
};

class Purchase
{
public:
    virtual void Buy() = 0;
};

class Customer : public Purchase
{
private:
    ForeignGoods *pGoods;
public:
    Customer(ForeignGoods *goods)
    {
        pGoods = goods;
    }

    void Buy()
    {
        cout << "购买" << pGoods->GetName() << endl;
    }
};

class Proxy : public Purchase
{
private:
    Customer *pCustomer;
public:
    Proxy(ForeignGoods *pGoods)
    {
        pCustomer = new Customer(pGoods);
    }

    void Buy()
    {
        pCustomer->Buy();
    }
};

int main(void)
{
    ForeignGoods *pGoods = new ForeignGoods("香奈儿香水");
    Proxy *pProxy = new Proxy(pGoods);
    pProxy->Buy();
    free(pProxy);
    free(pGoods);
    return 0;

} 

代理模式之C++实现,布布扣,bubuko.com

代理模式之C++实现

标签:style   class   blog   code   color   get   

原文地址:http://www.cnblogs.com/jingmoxukong/p/3806959.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!