大话设计模式C++
seagullyoyo
for the load your god is with you whereever you go
展开
-
代理模式
#include using namespace std; class Interface { public: virtual void GiveFlower() = 0; virtual void GiveChoclete() = 0; virtual void GiveDoll() = 0; }; class SchoolGirl { public: SchoolGirl(co原创 2014-07-01 16:02:49 · 357 阅读 · 0 评论 -
建造者模式
#include using namespace std; class Car { public: Car(){ } virtual void buildBody() = 0; virtual void buildWheel() = 0; virtual void paintColor() = 0; virtual void buildEngin() = 0;原创 2014-06-17 14:30:56 · 378 阅读 · 0 评论 -
抽象工厂模式
#include using namespace std; class IUser { public: IUser(){} virtual void InsertUser(IUser *) = 0; virtual IUser* GetUser(const int&) = 0; protected: int id; }; class SQLUser : pu原创 2014-06-17 21:44:02 · 398 阅读 · 0 评论 -
工厂方法模式
#include using namespace std; class Leifeng { public: virtual void sweep() { cout << "雷锋扫地" << endl; } }; class StudentLeifeng : public Leifeng { public: virtual void sweep() { cout << "学生原创 2014-07-01 16:02:31 · 403 阅读 · 0 评论 -
装饰者模式
#include using namespace std; const string add("+"); const string sub("-"); const string mul("*"); const string dive("/"); class Operation { public: Operation(): a(0), b(0), result(0){} void set原创 2014-07-01 16:00:37 · 371 阅读 · 0 评论 -
简单工厂模式
#include using namespace std; const string add("+"); const string sub("-"); const string mul("*"); const string dive("/"); class Operation { public: Operation(): a(0), b(0), result(0){} void set原创 2014-07-01 15:59:55 · 350 阅读 · 0 评论 -
Q4.7
#include #include using namespace std; const int maxn = 100; struct Node{ int data; Node *lchild, *rchild, *parent; }; Node node[maxn]; int cnt; void init(){ memset(node, '\0', sizeof(原创 2014-07-01 22:07:43 · 385 阅读 · 0 评论 -
原型模式
// 从一个对象再创建另一个可定制的对象,而无需知道任何创建的细节。 // 并能提高创建的性能。说白了就是COPY技术,把一个对象完整的COPY出一份。 #include using namespace std; class Prototype { public: Prototype(const string & str):id(str){} Prototype():id(""){原创 2014-07-01 16:04:43 · 335 阅读 · 0 评论 -
学习单例模式(C++实现)
单例模式:使得整个程序共用一个类的实例。原创 2014-08-08 16:05:33 · 452 阅读 · 0 评论