代理模式-

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

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);
}
相关推荐
我爱cope3 天前
【从0开始学设计模式-12| 代理模式】
设计模式·代理模式
两年半的个人练习生^_^4 天前
每日一学:设计模式之代理模式
java·设计模式·代理模式
天若有情6735 天前
用动态规划思路,一步一步实现响应式数据(从本质到落地)
算法·动态规划·代理模式
希望永不加班5 天前
Spring AOP 代理模式:CGLIB 与 JDK 动态代理区别
java·开发语言·后端·spring·代理模式
阿Y加油吧7 天前
动态规划经典题解:最长递增子序列 & 乘积最大子数组
算法·动态规划·代理模式
计算机安禾8 天前
【数据结构与算法】第48篇:算法思想(三):贪心算法
c语言·开发语言·数据结构·算法·贪心算法·代理模式·图论
Java成神之路-9 天前
零基础入门:动态代理与 Spring AOP 核心知识点总结
spring·代理模式
阿Y加油吧9 天前
从斐波那契到动态规划:两道入门题吃透 DP 核心思想
算法·动态规划·代理模式
Rsun0455110 天前
8、Java 代理模式从入门到实战
java·系统安全·代理模式
我登哥MVP12 天前
【Spring6笔记】 - 12 - 代理模式
java·spring boot·笔记·spring·代理模式·aop