代理模式-

代理模式通常找到代理方来管理用户的权限访问。如下图:

cpp 复制代码
#include<string>
#include<iostream>
using namespace std;
class Video
{
public:
	virtual void  Free() = 0;
	virtual void VIP() = 0;
	virtual void  Ticket() = 0;
};
class  FixbugVideo:public Video
{
public:
	virtual void  Free() { cout << "free" << endl; }
	virtual void VIP() { cout << "VIP" << endl; }
	virtual void  Ticket() { cout << "Ticket" << endl; }
};
class FreeProxy :public Video
{
private:Video* v;
public:
	FreeProxy()
	{
		v = new FixbugVideo();
	}
	
	virtual void  Free() { v->Free(); }
	virtual void VIP() { cout << "无权限VIP" << endl; }
	virtual void  Ticket() { cout << "无权限Ticket" << endl; }
};

class VIPProxy :public Video
{
private:Video* v;
public:
	VIPProxy()
	{
		v = new FixbugVideo();
	}
	virtual void  Free() { v->Free(); }
	virtual void VIP() { v->VIP(); }
	virtual void  Ticket() { cout << "无权限Ticket" << endl; }
};


class TicketProxy :public Video
{
private:Video* v;
public:
	TicketProxy()
	{
		v = new FixbugVideo();
	}

	virtual void  Free() { v->Free(); }
	virtual void VIP() { v->VIP(); }
	virtual void  Ticket() { v->Ticket();}
};
void Look(Video* p)
{
	p->Free();
	p->Ticket();
	p->VIP();
}
int main()
{
	Video* v = new FreeProxy();
	Video* v1 = new VIPProxy();
	Video* v3 = new TicketProxy();
	Look(v);
	Look(v1);
	Look(v3);
}
相关推荐
阿维的博客日记12 小时前
设计模式-代理模式
设计模式·代理模式
笨手笨脚の4 天前
设计模式-代理模式
设计模式·代理模式·aop·动态代理·结构型设计模式
xxxxxxllllllshi7 天前
Java 代理模式深度解析:从静态到动态,从原理到实战
java·开发语言·笔记·算法·代理模式
1710orange8 天前
java设计模式:静态代理模式
java·设计模式·代理模式
Zz_waiting.10 天前
Spring AOP
java·spring·代理模式·springaop
Your易元11 天前
模式组合应用-代理模式
安全·系统安全·代理模式
敲代码的苦1311 天前
【最新】2025年计算机软件著作权合作开发协议示例文件
程序人生·代理模式·学习方法·软件需求·格式工厂
奔跑吧邓邓子12 天前
【C++实战㊺】解锁C++代理模式:从理论到实战的深度剖析
c++·实战·代理模式
bkspiderx13 天前
C++设计模式之结构型模式:代理模式(Proxy)
c++·设计模式·代理模式
大飞pkz14 天前
【设计模式】代理模式
开发语言·设计模式·c#·代理模式