每日博客

实验14:代理模式

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

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

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

 

[实验任务一]:婚介所

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

实验要求:

1. 提交类图;

 

 

2. 提交源代码;

#include <iostream>

#include <string>

using namespace std;

 

 

class Customer

{

public:

    string name;

    int age;

    Customer(string n,int a)

    {

        name=n;

        age=a;

    }

};

 

class Zhongjie

{

protected:

    string name;

public:

    Zhongjie(string n){name=n;}

    virtual void findlove(Customer* customer)=0;

};

 

 

class HunJie:public Zhongjie

{

public:

    HunJie(string name):Zhongjie(name){}

    void findlove(Customer* customer)

    {

        if(customer->age<18)

        {

            cout <<name<<":"<<customer->name<<",对不起!不能早恋!" << endl;

        }

        else if(customer->age<100)

        {

            cout <<name<<":"<<customer->name<<",我们将全力为您找到匹配的另一半!" << endl;

        }

        else

        {

            cout <<name<<":"<<customer->name<<",对不起!您年龄太大了!" << endl;

        }

    }

};

 

 

 

int main()

{

    Zhongjie* hunJie1,* hunJie2;

    hunJie1=new HunJie("百合介绍所");

    hunJie2=new HunJie("玫瑰介绍所");

    Customer* b1=new Customer("小明",29);

    Customer* b2=new Customer("小明",16);

    hunJie1->findlove(b1);

    hunJie2->findlove(b2);

    return 0;

}

3. 注意编程规范。

 

 

posted @ 2024-02-09 22:00  秃头的小白  阅读(4)  评论(0编辑  收藏  举报