每日博客

代理模式

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:

1、理解代理模式的动机,掌握该模式的结构;

2、能够利用代理模式解决实际问题。

 

 

[实验任务一]:婚介所

婚介所其实就是找对象的一个代理,请仿照我们的课堂例子“论坛权限控制代理”完成这个实际问题,其中如果年纪小于18周岁,婚介所会提示“对不起,不能早恋!”,并终止业务。

C++

#include <iostream>
#include<memory>
using namespace std;

class play{
public:
virtual void play1() = 0;
virtual void play2() = 0;
};
class player : public play{
public:
void play1(){
cout<<"需求1"<<endl;
}
void play2(){
cout<<"需求2"<<endl;
}
};
//未成年
class proxyPlayer1 : public play{
public:
proxyPlayer1(){
m_player = new player();
}
void play1(){
cout<<"未成年不得早恋!"<<endl;
}

void play2(){}

private:
player* m_player;
};
//成年
class proxyPlayer2 : public play{
public:
proxyPlayer2(){
m_player = new player();
}
void play1(){
m_player->play1();
}

void play2(){
m_player->play2();
}
private:
player* m_player;
};
main()
{
proxyPlayer2* p2 = new proxyPlayer2();
p2->play1();
p2->play2();

cout<<"==============="<<endl;

proxyPlayer1* p1 = new proxyPlayer1();
p1->play1();
p1->play2();
}

posted @ 2021-10-28 19:40  谦寻  阅读(48)  评论(0编辑  收藏  举报