根据程洁的大话模式:

 // Proxy.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include<iostream>
#include <string>
using namespace std; class Girl
{
public:
Girl(string name = ""):mName(name){}
string getName()
{
return mName;
}
private:
string mName;
}; class GiveGift
{
public:
virtual void GiveDolls() = ;
virtual void GiveFlowers() = ;
virtual void GiveChocolate() = ;
}; class Puisuit:public GiveGift
{
public:
Puisuit(Girl mm):mGirl(mm){}
virtual void GiveDolls()
{
cout<<"送"<<mGirl.getName()<<"玩具"<<endl;
}
virtual void GiveFlowers()
{
cout<<"送"<<mGirl.getName()<<"鲜花"<<endl;
}
virtual void GiveChocolate()
{
cout<<"送"<<mGirl.getName()<<"巧克力"<<endl;
}
private:
Girl mGirl;
}; class Proxy:public GiveGift
{
public:
Proxy(Girl mm)
{
mPuisuit = new Puisuit(mm);
}
virtual void GiveDolls()
{
mPuisuit->GiveDolls();
}
virtual void GiveFlowers()
{
mPuisuit->GiveFlowers();
}
virtual void GiveChocolate()
{
mPuisuit->GiveChocolate();
}
private:
Puisuit* mPuisuit;
};
int _tmain(int argc, _TCHAR* argv[])
{
cout<<"代理模式"<<endl;
Girl girl("娇娇");
Proxy pro(girl);
pro.GiveDolls();
pro.GiveFlowers();
pro.GiveChocolate();
system("pause");
return ;
}

最新文章

  1. 如何在CentOS 5/6上安装EPEL源
  2. nhibernat4.0.0.4000 bug
  3. C#全角、半角转换
  4. BZOJ-3130 费用流 (听题目胡扯丶裸最大流) 二分判定+最大流+实数精度乱搞
  5. C语言中的const
  6. Android下利用SQLite数据库实现增删改查
  7. jQuery基础与实例
  8. 【Xamarin挖墙脚系列:最重要的布局ListView】
  9. react-native 环境配置及hello world
  10. delphi 对抗任务管理器关闭(提升进程到Debug模式,然后设置进程信息SE_PROC_INFO)
  11. linux yum安装mongodb
  12. Spark结构式流编程指南
  13. BestCoder Round #34_1002 以及 hdu 5191
  14. 校门外的树-poj
  15. python 算法学习部分代码记录篇章1
  16. js保留两位小数数字
  17. Android GUI之View绘制流程
  18. Oracle多行记录合并/连接/聚合字符串的几种方法
  19. HttpClient上传下载文件
  20. easyui+nodejs+sqlserver增删改查实现

热门文章

  1. 【Spark-SQL学习之一】 SparkSQL
  2. python 减少可调用对象的参数个数
  3. VXLAN
  4. dart字符串处理
  5. Oracle11g导出为Oracle10g版本数据,解决10g不兼容11g文件
  6. Ubuntu 14.04 下安装 OpenCV
  7. 记 Java 各版本新特性
  8. 异步async/await简单应用与探究
  9. poj 3304 Segments 线段与直线相交
  10. 表单提交:button input submit 的区别