自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (1)
  • 收藏
  • 关注

原创 深入模板编程笔记四

template class my_vector {public: T* array; unsigned size; unsigned block_size; public: my_vector(unsigned bsz): array((T*)malloc(sizeof(T)*bsz)),size(0), block_size(bsz){}

2014-11-15 18:09:54 472

原创 深入模板编程笔记三

//函数指针模板templatevoid foreachf(T array[], int size) { for (unsigned i = 0; i < size; ++i) { fun(array[i]); }}templatevoid inc(T &v) { ++v;}templatevoid dec(T &v) { --v;}void main(){

2014-11-14 11:52:50 438

原创 深入模板编程笔记二

//链表templatestruct hetero_node {//effective stl说过,访问数据永远比访问方法快,所以尽量用struct t value; n* next; hetero_node(t const& v, n* n1): value(v), next(n) {}};typedef hetero_node node_0;node_0* p0;typed

2014-11-13 15:05:51 464

原创 深入模板编程笔记一

第一章就简单介绍

2014-11-12 11:07:45 429

原创 设计模式观后(c++还原之二十六 桥梁模式)

//桥梁模式//作者用公司产品来举例,公司类成为桥梁//抽象产品类class Product {public: //产品要被生产和销售 virtual void BeProducted(){} virtual void BeSelled(){}};class House : public Product {public: void BeProducted() { cout

2014-10-06 21:21:14 576

原创 设计模式观后(c++还原之二十五 享元模式)

string int2string(int n) { char buffer[10] = {0}; _itoa_s(n, buffer, 10, 10); return string(buffer);}//享元模式//作者例子:报考系统的对象//每个用户的访问就构造一个对象会导致内存不够,作者设立关键字:多个用户使用一块内存//报考信息class SignInfo {priva

2014-10-05 20:58:55 436

原创 设计模式观后(c++还原之二十四 解释器模式)

//解释器模式//作者示例:输入公式,运算公式(数学的加减法)//抽象表达式类class Expression {public: //key是公式的参数,value是具体的数字 virtual int InterPreter(map var) = 0;};//变量解释器class VarExpression : public Expression {private: char

2014-10-04 22:58:23 436

原创 设计模式观后(c++还原之二十三 状态模式)

//状态模式//首先作者举例是电梯的升降和操作(上升状态的关门、开门、运动等动作判断;下降状态的动作判断)//我第一次想到的是:用四个枚举来表示当前电梯状态,然后动作函数的执行用switch(状态) case(运行)来写。//来看作者的写法吧class Context;//后面的上下文类class OpenningState;//开门类class ClosingState;//关门类

2014-10-02 22:19:04 534

原创 设计模式观后(c++还原之二十二 访问者模式)

//访问者模式class IVisitor;//抽象员工类class Employee {public: const int MALE = 0;//男性 const int FEMALE = 1;//女private: string m_strname; string m_nsalary; int m_nsex;public: virtu

2014-10-01 22:21:39 438

原创 设计模式观后(c++还原之二十一 备忘录模式)

//备忘录模式//就是给发起人等给个备份,好恢复 前面的原型模式刚好可以用上(clone函数)//例子很简单会相对注释//备忘录角色class Originator;class Memento {private: string m_state;public: Memento(string _state) { m_state = _state; } string Get

2014-09-29 23:03:37 419

原创 设计模式观后(c++还原之二十 门面模式)

//门面模式//和字面意思一样,把看似杂乱的东西封装一个好看的门面//作者例子:写信——填写必要信息、封好、检查、邮递、//抽象基类class ILetterProcess {public: virtual void WriteContext(string context) = 0; virtual void FillEnvelope(string address)= 0 ; vi

2014-09-27 21:37:24 507

原创 设计模式观后(c++还原之十九 观察者模式)

//观察者模式//作者示例:李斯派人观察监视韩非子,并报告给秦始皇。//我自己修改了一些//抽象观察者class Observer {public: virtual void Update(string& context){}};//被观察者接口class Observable {public: //增加一个观察者 virtual void AddObserver(Obse

2014-09-27 21:06:45 459

原创 设计模式观后(c++还原之十八 组合模式)

//组合模式//作者这个模式举得例子很有趣:树、根、叶;//用上面的思想要把员工管理组合在一起。//经理添加员工,获取信息。组长添加员工,获取信息等,树结构。//抽象员工接口、(根节点)class ICorp {public: virtual string GetInfo() = 0; virtual int GetType() {return 0;}//获取职位类型0:树叶 1:

2014-09-25 21:33:34 460

原创 设计模式观后(c++还原之十七 迭代器模式)

//迭代器模式//现在已经基本感觉没意思了,感觉每个23钟模式围绕着前面的6个原则设计//只是增加了示例见识,还不见得全记得住。//估计要用的时候才会迅速找到//不说了,要加速23钟模式;快点进入模式混合搭配,才能深刻理解//作者把管理项目信息做了一个迭代器//先抽象基类class ProjectIterator;class IProject {public: virtual

2014-09-24 23:46:13 438

原创 设计模式观后(c++还原之十六 适配器模式)

//适配器模式//这像一个补救模式,类A的接口无法与类C不匹配;便构件一个类B让A与B匹配,B与C匹配。//作者用的示例:人力资源管理//虚化 员工信息接口 类:Aclass IUserInfo {public: virtual string GetUserName() = 0; virtual string GetHomeAddress() = 0; virtual string

2014-09-22 22:31:28 397

原创 设计模式观后(c++还原之十五 策略模式)

using std::map;using std::endl;using std::cout;using std::list;using std::vector;using std::string;//策略模式//这个模式,感觉没啥东西。就是自由切换和避免多重判断//抽象策略角色class Strategy {public: virtual void DoSomething

2014-09-21 23:11:52 464

原创 设计模式观后(c++还原之十四 修饰模式)

//修饰模式//这个是基于类的修饰。作者用父亲看成绩,然后签字来举例//需要对成绩进行修饰才能,让父亲开心,然后签字。//抽象修饰类class SchoolReport {public: SchoolReport(); virtual void Report() {}//家长看报告 virtual void Sign(string name) {}//家长签字};class F

2014-09-20 22:17:00 511

原创 设计模式观后(c++还原之十三 责任链模式)

using std::deque;using std::string;using std::cout;using std::list;//责任链模式//作者参考古代的女子三从四德原则,来举例//分析第一个示例,女子的请示必须是链状的流程,依次走或者continue//抽象基类class IWomen{public: virtual int GetType(){ ret

2014-09-18 23:21:15 413

原创 设计模式观后(c++还原之十二 命令模式)

以前在github给自己写日记习惯了,笔记

2014-09-17 22:29:14 374

原创 设计模式观后(c++还原之十一 中介者模式)

//中介者模式//作者举得例子:采购管理类需要库存类和销售类,才能采购//库存类需要采购和销售类才能管理,销售需要库存和采购才能统计。//如此的设计,造成所有的类彼此之间互相依赖!有很大的耦合性(非常错误的选择) 产生中介者模式//先构建抽象中介者class AbstractMediator {protected: Purchase* p_purchase; Sale* p_

2014-09-16 23:21:02 413

原创 设计模式观后(c++还原之十 代理模式)

//代理模式//代理个性,作者增加代理个性(收费接口);书写类。让GamePlayerProxy继承俩个类增加自己个性。class IGamePlayer {};class Iproxy {public: void Count() {cout << "nubmer";}};class GamePlayerProxy : public IGamePlayer, public Iprox

2014-09-15 20:54:41 495

原创 设计模式观后(c++还原之九 代理模式)

代理模式就用两篇文章来吧!代理模式之一

2014-09-14 22:08:17 421

原创 设计模式观后(c++还原之八 建造者模式)

//从前面的知识知道,重复功能函数放基类(视情况)run//车辆模型抽象基类class CarModel {private: deque* m_psequence; protected: virtual void Start() = 0; virtual void Stop() = 0; virtual void Alarm() = 0; v

2014-09-12 21:01:25 435

原创 设计模式观后(c++还原之七 模板方法模式)

//模板方法模式。完全是注意一点:软件开发过程中,如果相同的一段代码复制俩次,//就需要对设计产生怀疑//作者也是用了虚函数的覆盖功能。class HummerModel {protected: virtual void start() {} virtual void stop() {} virtual void alarm() {} virtual voi

2014-09-10 23:17:46 471

原创 设计模式观后(c++还原之六 虚拟工厂)

//抽象工厂模式//首先抽象工厂是工厂的扩展,书中对他的解释是当工厂出现俩个互相影响的产品线//示例;//作者将黄种人派生男人女人(黑种人,白种人一样)//八卦炉基类(工厂类),生产三种人。再派生俩个类,让其生产男人女人。最后场景类调用。//关系就像车的左右门一样class AbstractProductA {public: virtual void ShareMethod()

2014-09-10 08:37:09 603

原创 设计模式观后(c++还原之六 工厂模式)

//人类、女娲示例//感觉meiclass Human {public: virtual void GetColor(){} virtual void Talk(){}};class BlackHuman : public Human {public: virtual void GetColor() { cout << "black "; } virtual void Ta

2014-09-06 17:18:21 451

原创 设计模式观后(c++还原之五 单例模式)

已经到了作者的23个模式了

2014-09-06 15:16:02 433

原创 设计模式观后(c++还原之四 开闭原则 )

// Desinger.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include #include using std::cout;using std::list;using std::string;//开闭原则 class IBook {

2014-09-05 20:06:05 405

原创 设计模式观后(c++还原之三 接口隔离)

//接口隔离class IPettyGirl {public: virtual void goodLooking(); virtual void niceFigure(); virtual void greatTemperament();};class PettyGirl : public IPettyGirl {private: string m_name;publi

2014-09-04 17:21:58 467

原创 设计模式观后(c++还原之二 依赖的信用)

依赖的信用

2014-09-04 15:23:32 659

原创 设计模式观后(c++还原 里氏替换原则)

//里氏替换原则1子类完全实现父类的方法2子类可以有自己的个性3覆盖实现父类方法时输入参数可以被放大。//手枪、士兵、场景设计class AbstractGun{public: virtual void shoot() { cout << "kill people!"; }};class HandGun : public AbstractGun{pu

2014-09-04 15:21:15 1057

c语言求三个数的最大值

是c语言的三个数的最大值,是三个整数之间的最大值。输入三个整数,求出最大值1!!!!!!

2013-04-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除