
C++设计模式
Vstornzw
自由,无束
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++设计模式——中介者模式(高屋建瓴)
#include <iostream> using namespace std; class Mediator; // 抽象人 class Person { public: virtual void SetMediator(Mediator *mediator){}//设置中介 virtual void SendMessage(std::string message) {}//向中介者发送信息 virtual void GetMessage(std::string message)原创 2021-01-07 14:14:35 · 146 阅读 · 0 评论 -
C++设计模式——享元模式(高屋建瓴)
原网址:https://blog.youkuaiyun.com/CoderAldrich/article/details/83183271 做出如下修改: #include <iostream> #include <map> #include <vector> using namespace std; typedef struct PointTag__ { int x_; int y_; PointTag__(){} PointTag__(int a, int b)原创 2021-01-07 12:01:34 · 166 阅读 · 0 评论 -
C++设计模式——组合模式(高屋建瓴)
转载https://blog.youkuaiyun.com/CoderAldrich/article/details/83115374 C++组合模式代码修改 #include <iostream> #include <string> #include <vector> using namespace std; class Component { public: Component(string name) : m_strCompname(name){} virtual ~原创 2020-09-02 20:36:11 · 182 阅读 · 0 评论 -
C++设计模式——访问者模式(高屋建瓴)
原文 https://blog.youkuaiyun.com/CoderAldrich/article/details/83270301 我敲了代码 做出一些修改 #include <iostream> #include <vector> #include <algorithm>//包含find函数 using namespace std; class ConcreteElementA; class ConcreteElementB; class Visitor { publi原创 2020-09-05 13:39:53 · 289 阅读 · 1 评论 -
C++设计模式——观察者模式(高屋建瓴)
原网址:https://blog.youkuaiyun.com/CoderAldrich/article/details/83183700 现对代码做出如下修改: #include <iostream> #include <list> using namespace std; class Observer { public: virtual void Update(int) = 0; }; class Subject { public: virtual void Attach(O原创 2020-09-05 14:27:51 · 232 阅读 · 0 评论 -
C++设计模式——备忘录模式(高屋建瓴)
原文地址:https://blog.youkuaiyun.com/qq_33232152/article/details/94325685 对代码做出修改 //将每一种状态即设置的string封装成类Memento,想回到哪种状态,就返回到哪个Memento #include<iostream> #include<string> #include<vector> using namespace std; class Memento { public: Memento(stri原创 2020-09-05 15:12:31 · 176 阅读 · 0 评论 -
C++设计模式——模板方法模式(高屋建瓴)
原文网址:https://blog.youkuaiyun.com/CoderAldrich/article/details/83270337 #include <iostream> using namespace std; class AbstractClass { public: void TemplatrMethod() { cout<<"TemplateMethod"<<endl; PrimitiveOperation2(); } protected原创 2020-10-15 19:00:31 · 110 阅读 · 0 评论 -
C++设计模式——状态模式(高屋建瓴)
原网址:https://blog.youkuaiyun.com/CoderAldrich/article/details/83183733 #include <iostream> using namespace std; class Context; class State { public: virtual void Handle(Context *context) = 0; }; class ConcreteStateA : public State { public: virtu原创 2020-10-19 10:10:32 · 111 阅读 · 0 评论 -
设计模式C++——命令模式(高屋建瓴)
原网址:https://blog.youkuaiyun.com/walkerkalr/article/details/29853441 #include <iostream> using namespace std; //电灯类 class Light { public: void On() { cout << "Light On !" << endl; } void Off() { cout << "Ligeht Off !" &原创 2020-10-19 13:52:36 · 121 阅读 · 0 评论 -
C++设计模式——装饰模式(高屋建瓴)
原网址:https://blog.youkuaiyun.com/CoderAldrich/article/details/83115394 重点在于 ConcreteDecoratorA(Component *decorator) : Decorator(decorator) #include <iostream> using namespace std; class Component { public: virtual void Operation() = 0; }; class Concre原创 2020-10-19 16:33:53 · 207 阅读 · 2 评论 -
C++设计模式——桥接模式(高屋建瓴)
原网址:https://blog.youkuaiyun.com/mrailence/article/details/53103284 #include <iostream> using namespace std; class AbstractionImlement { public: AbstractionImlement() {} virtual ~AbstractionImlement() {} virtual void Operation() = 0; }; class Concret原创 2020-10-21 16:01:08 · 193 阅读 · 0 评论 -
C++设计模式---适配器模式(高屋建瓴)
原网址:https://blog.youkuaiyun.com/CoderAldrich/article/details/83115299 #include <iostream> using namespace std; class Target { public: Target() {} virtual ~Target() {} virtual void Request() { cout << "Target::Requeast"<<endl; } };原创 2020-10-21 16:57:43 · 117 阅读 · 0 评论 -
C++设计模式实现--原型模式(高屋建瓴)
原网址:https://lcxing.blog.youkuaiyun.com/article/details/79521841 参考网址:https://blog.youkuaiyun.com/lin_duo/article/details/84888766 #include <iostream> using namespace std; class Sheep { friend ostream& operator<<(ostream&, Sheep& sheep); publ原创 2020-10-22 11:20:43 · 125 阅读 · 0 评论 -
C++设计模式——建造者模式(高屋建瓴)
原网站:https://blog.youkuaiyun.com/u012581604/article/details/72758110 修改后的代码如下: #include <iostream> using namespace std; #define DELETE_OBJECT(Obj) \ {\ if (Obj) \ {\ delete (Obj); \ (Obj)=NULL;\原创 2020-10-22 14:09:16 · 207 阅读 · 1 评论 -
C++设计模式——策略模式(高屋建瓴)
原网址:https://blog.youkuaiyun.com/dwb1015/article/details/18139881 代码做如下修改: #include <iostream> using namespace std; /*付款金额计算的抽象类*/ class CashSuper { public: /*计算应付金额*/ virtual double AcceptCash(double money) = 0; }; /*正常收费策略*/ class CashNormal : pub原创 2020-10-23 15:21:04 · 214 阅读 · 0 评论 -
C++设计模式——装饰着模式(高屋建瓴)
#include #include using namespace std; //person 类 class Person { public: Person(){} Person(std::string name); virtual void Show(); //当你用一个基类指针或引用指向一个继承类对象的时候, //调用一个虚函数时, 实际调用的是继承类的版本。 private: std::string name; }; Person::Person(std::string name) { this-原创 2020-10-26 16:04:36 · 177 阅读 · 0 评论