c++代码示例大全 简单好玩的编程代码

策略是准备一套算法,把每个算法打包,这样就可以交换了(这里的关键是算法的逻辑抽象,接口打包成类,然后通过委托把具体的算法实现委托给具体的类)加密速度快,加密密钥和解密密钥相同。非对称加密,加密速度慢,加密强度高,安全特性,加密密钥和解密密钥不同。#include<...

策略是准备一套算法,把每个算法打包,这样就可以交换了(这里的关键是算法的逻辑抽象,接口打包成类,然后通过委托把具体的算法实现委托给具体的类)

加密速度快,加密密钥和解密密钥相同。

非对称加密,加密速度慢,加密强度高,安全特性,加密密钥和解密密钥不同。

#include<iostream>using namespace std;class Strategy{public:virtual void crypy() = 0;};class AES :public Strategy{public:virtual void crypy(){cout << "AES加密算法 " << endl;}};class DES :public Strategy{public:virtual void crypy(){cout << " DES加密算法" << endl;}};class Context{public:void setStrategy(Strategy *strategy){this->strategy = strategy;}void myoperator(){strategy->crypy();}private:Strategy *strategy;};void ***in(){//DES*des = new DES;des->crypy();delete des;Strategy*strategy = NULL;strategy= new DES;Context *context = new Context;context->setStrategy(strategy);context->myoperator();delete strategy;delete context;system("pause");return;}

中介者模式是定义一个中介对象,不封装一系列对象之间的交互。终结符是不需要显示的各个对象的相互调用,使其耦合松散,相互之间的交互可以独立变化。

中介问题抛出

#include<iostream>using namespace std;#include"string"class Person{public:Person(string name, int ***, int condi){m_name=name; m_***=***;m_condi = condi;}string getName(){return m_name;}int getSex(){return m_***;}int getCondi(){return m_condi;}protected:string m_name;int m_***;int m_condi;};class Women :public Person{public:Women(string name, int ***, int condi) :Person(name, ***, condi){}virtual void getParter(Person*p){if (this->m_*** == p->getSex()){cout << "我不是同性恋..(这里就是问题研究,不带任何感***彩)" << endl;}if (this->getCondi() == p->getCondi()){cout << this->getName() << "和" << p->getName() << "绝配" << endl;}else{cout << this->getName() << "和" << p->getName() << "bu配" << endl;}}};class Man :public Person{public:Man(string name, int ***, int condi) :Person(name, ***, condi){}virtual void getParter(Person*p){if (this->m_*** == p->getSex()){cout << "我不是同性恋..(这里就是问题研究,不带任何感***彩)" << endl;}if (this->getCondi() == p->getCondi()){cout << this->getName() << "和" << p->getName() << "绝配" << endl;}else{cout << this->getName() << "和" << p->getName() << "bu配" << endl;}}};void ***in(){Person *xiaofang = new Women("小芳", 2, 5);Person *zhangsan = new Man("张三", 1, 4);Person *lisi = new Man("李四", 2, 5);xiaofang->getParter(zhangsan);xiaofang->getParter(lisi);system("pause");return;}

中介代码实现

#include<iostream>using namespace std;#include"string"class Person{public:Person(string name, int ***, int condi, Mediator*m){m_name = name;m_*** = ***;m_condi = condi;mediator = m;}string getName(){return m_name;}int getSex(){return m_***;}int getCondi(){return m_condi;}protected:string m_name;int m_***;int m_condi;Mediator mediator;};class Mediator//中介这的抽象父类{public:virtual void getParter() = 0;void setMan(Person*pMan){pMan = ***n;}void setWomen(Person*pMan){pWomen = women;}public:virtual void getParter(){if (pWomen->getSex() == pMan->getSex()){cout << "我不是同性恋..(这里就是问题研究,不带任何感***彩)" << endl;}if (pWomen->getCondi() == pMan->getCondi()){cout << pWomen->getName() << "和" << pMan->getName() << "绝配" << endl;}else{cout << pWomen->getName() << "和" << pMan->getName() << "bu配" << endl;}}private:Person *pWomen;Person *pMan;};class Women :public Person{public:Women(string name, int ***, int condi, Mediator*m) :Person(name, ***, condi,m){}public:virtual void getParter(Person*p){mediator->setMan(p);mediator->setWomen(this);mediator->getParter();}};class Man :public Person{public:Man(string name, int ***, int condi, Mediator*m) :Person(name, ***, condi,m){}public:virtual void getParter(Person*p){mediator->setMan(this);mediator->setWomen(p);mediator->getParter();}};void ***in(){Mediator *m = new Mediator;Person *xiaofang = new Women("小芳", 2, 5,m);Person *zhangsan = new Man("张三", 1, 4,m);Person *lisi = new Man("李四", 2, 5,m);xiaofang->getParter(zhangsan);xiaofang->getParter(lisi);system("pause");return;}

本文来自早川希奈子投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/536300.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 05-07
下一篇 05-07

相关推荐

  • 网页列表设计代码 网页制作经验分享

    有序列表经过前面对表格和形式的学习,再来学习列表是非常简单易懂的。学习是建立知识体系的过程。没有系统的学习再多的知识,也会支离破碎,也很难形成技能或者深度理解。所以,如果你是零基础的初学者,是第一次看我的教程。如果时间允许,请从目录中寻找第一个,循序渐进地

    2023-07-25 09:07:01
    767 0
  • steam错误代码-102解决方案

    改host就可以了 百度“steam118错误修复工具”选第一个3DM下载就可以了。建议你把电脑做成w10系统,不一定苹果电脑就要用苹果系统啊,w10还更好用。你是打开商城或者市场吧网站被污染了,你需要挂加速器,或者百度steam网站被污染,然后找到一个小程序,才能打开网站。1在桌面

    2023-07-23 04:39:01
    662 0
  • eclipse平台简介 java新手代码大全

    Eclipse workspace多平台使用u盘的解决方案(workroom空);在过去的Java编程中,Eclipse占据了绝大多数的位置。我们知道Java是一种跨平台的编程语言,所以我们有可能在不同的平台上编写Java代码。我们在学校机房的一个设备上写好Java代码后,回到宿舍还需要继续写。这时候我们

    2023-07-23 03:20:01
    502 0
  • html居中代码怎么写 网页制作文字居中代码

    这个问题好像是面试必问的!以前会时不时提问,给基本的分题。1.配置盒子的宽度和高度是已知的,位置:绝对;左:50%;top:50%;左边距:-自身宽度的一半;***rgin-top:-自身高度的一半;2.表格单元格布局父显示:表格单元;垂直对齐:居中;子边距:0自动;3.定位+改造;适用于宽度

    2023-07-23 03:11:01
    504 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信