当前位置:首页 > 生活百科

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

栏目:生活百科日期:2025-05-26浏览:0

策略模式就是准备一组算法,并将每一个算法封装起来,使得他们可以互换(这儿的关键就是算法的逻辑抽象,接口封装到一个类中,再通过委托的方式将具体的算法实现委托给具体的类来实现)

对称加密速度快加密大数据块文件特点,加密密钥和解密密钥是一样的

非对称加密,加密速度慢、加密强度高高,安全性特点,加密密钥和解密密钥不一样

#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 main(){//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 sex, int condi){m_name=name;    m_sex=sex;m_condi = condi;}string  getName(){return m_name;}int  getSex(){return m_sex;}int  getCondi(){return m_condi;}protected:string   m_name;int      m_sex;int      m_condi;};class Women :public Person{public:Women(string name, int sex, int condi) :Person(name, sex, condi){}virtual   void  getParter(Person*p){if (this-&>m_sex == 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 sex, int condi) :Person(name, sex, condi){}virtual   void  getParter(Person*p){if (this-&>m_sex == p-&>getSex()){cout &<&< "我不是同性恋..(这里就是问题研究,不带任何感情色彩)" &<&< endl;}if (this-&>getCondi() == p-&>getCondi()){cout &<&< this-&>getName() &<&< "和" &<&< p-&>getName() &<&< "绝配" &<&< endl;}else{cout &<&< this-&>getName() &<&< "和" &<&< p-&>getName() &<&< "bu配" &<&< endl;}}};void main(){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 sex, int condi, Mediator*m){m_name = name;m_sex = sex;m_condi = condi;mediator = m;}string  getName(){return m_name;}int  getSex(){return m_sex;}int  getCondi(){return m_condi;}protected:string   m_name;int      m_sex;int      m_condi;Mediator  mediator;};class Mediator//中介这的抽象父类{public:virtual void getParter() = 0;void setMan(Person*pMan){pMan = man;}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 sex, int condi, Mediator*m) :Person(name, sex, 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 sex, int condi, Mediator*m) :Person(name, sex, condi,m){}public:virtual   void  getParter(Person*p){mediator-&>setMan(this);mediator-&>setWomen(p);mediator-&>getParter();}};void main(){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;}

“c++代码示例大全(简单好玩的编程代码)” 的相关文章

2020微单排行榜(2020十大微单相机排行榜及报价)

由于现在的微单镜头更换很方便,所以基本上只要有一部好的微单相机就可以用很久啦,像经常拍抖音或者其他小视频的小伙伴就可以选一款适合拍抖音的微单相机,这样拍出来的效...

全球手机全球排行(目前全球最好的手机)

什么叫真实力?在手机圈,判断一个品牌是否有实力除了看产品上的先进技术外,最具说服力还要属销量。数据研究机构Canalys已经发布了最新的报告,全球手机销量排名出...

咖啡机家用什么品牌好(入门家用咖啡机推荐)

极物君语:咖啡可以是一天灵感的源泉,是生活中幸福的载体,也可以是日常空闲的最佳享受。为家里配置一台咖啡机,让灵感随时激活,让幸福唾手可得,尽情表达对精致生活的追...

dnf婚房怎么进不去(dnf结婚豪华和普通区别)

结婚系统怎么装饰婚房,是先升级戒指还是先装饰,给你们讲一下第一:结婚双方装饰效果同享,也就是说只要女方装饰了男女双方都有效果,所以不要买重复了,第二:戒指先不要...

eclipse安装报错怎么解决(电脑安装eclipse步骤)

Eclipse是在开发时java程序员常用的开发环境,也是java零基础的新手朋友们需要学习重要内容。今天我们继续学习eclipse的相关知识——eclipse...

免费网页制作模板教程(网页制作的基本步骤)

在不懂设计知识、也不懂技术的情况下,小白可以做出好看的网站吗?当然也是可以的,而且通过免费网站制作就能生成很不错的网站,需要你遵循这些网站设计方法:1.创意风格...

pdf ocr文字识别软件(最好用的ocr文字识别软件)

在我们日常工作和日常学习中,每当我们需要PDF或者图片中的文字,用于编辑或者翻译时,这时候就开始让人头疼,暴力复制会引起很多格式的错乱,最终只能无奈的重新输入一...

xshell5产品密钥大全(xshell会话管理器打开方式)

以RHEL系统root用户为例先查看家目录下是否存在.ssh目录,一般只要用过ssh都会自动生成,没有的话新建一个mkdir.ssh打开Xshell菜单栏-工具...

html文本标签有哪些(html基本标签大全)

今天的内容主要是标题标签h、段落标签p、和文本外观相关标签的用法,尤其是特殊的注意事项。明天会学习标签分类和特殊字符的表示。关注我,一起进步。第四章HTML文本...

云计算市场规模如何(简述云计算的核心技术)

9月15日消息,据外媒报道,市场研究机构ResearchAndMarkets发布的报告指出,在新冠肺炎疫情中,全球云计算服务市场在2020年估计为3131亿美元...