- 博客(25)
- 资源 (14)
- 收藏
- 关注
转载 c++静态库与动态库的区别
如果对Linux下静态链接库和动态链接库感兴趣,请狂点击 -->你懂的一,概念 1)静态链接库就是你使用的.lib文件,库中得代码最后需要连接到你的可执行文件中去,所以静态连接的可执行文件一般比较大一些。 使用方法 1> 格式如:#pragma comment(lib,"XXX.lib")
2012-11-26 11:41:19 21168 3
原创 occi编程遇到的问题:oracle::occi::Environment * __cdecl oracle::occi::Environment::createEnvironmenT
问题描述:1>dboperate.obj : error LNK2019: 无法解析的外部符号 "public: static class oracle::occi::Environment * __cdecl oracle::occi::Environment::createEnvironment(enum oracle::occi::Environment::Mode,void *,voi
2012-11-21 16:06:30 6768 5
转载 vs2010创建和使用动态链接库(dll)
vs2010创建和使用动态链接库(dll)本文将创建一个简单的动态链接库,并编写一个应用台控制程序使用该动态链接库,并提出了与实现相关的几个问题,供初学者交流。本文包含以下内容:创建动态链接库项目向动态链接库添加类创建引用动态链接库的应用程序在控制台应用程序中使用类库的功能更丰富的simpledll类和相关问题参考资料
2012-11-21 15:08:39 1368
原创 C++实现享元模式
/* 享元模式:运用共享技术,有效的实现支持大量细粒度对象的复用 Created by Phoenix_FuliMa*/#include #include #include using namespace std;static int objnum = 0;class FlyWeight{public: virtual void Operate(string oute
2012-11-20 18:45:57 1204
原创 C++实现迭代器模式
说实话这个迭代器模式实现起来有点模糊/* 迭代器模式:提供一种方法顺序访问一个聚合对象中个各个元素,而不暴露该对像的内部表示. 模式的动机: (1)一个聚合对象,如一个列表(List)或者一个集合(Set),应该提供一种方法来让别人可以访问 它的元素,而又不需要暴露它的内部结构。 (2)针对不同的需要,可能还要以不同的方式遍历整个聚合对象,但是我们并不希望在聚合对象的
2012-11-19 10:09:59 4105
原创 C++实现中介者模式
/* 中介者模式:用一个中介对象来封装一系列的对象交互,中介者使各个对系那个不需要显示的相互引用, 从而使其耦合松散,而且可以独立改变他们之间的交互。 在中介者模式中,通过创造出一个中介者对象,将系统中有关的对象所引用的其他对象数目减少到最少, 使得一个对象与其同事之间的相互作用被这个对象与中介者对象之间的相互作用所取代。因此,中介者 模式就是迪米特法则的一个典型应用。 Creat
2012-11-19 09:37:58 925
原创 C++实现职责链模式
/* 职责链模式:避免请求发送者和接受者耦合在一起,让多个对象都有机会处理请求,将这些对象连接处一条链,并且 沿着这条链传递请求,直到有对象处理它为止。 在以下情况下可以使用职责链模式: (1)有多个对象可以处理同一个请求,具体哪个对象处理该请求由运行时刻自动确定。 (2)在不明确指定接收者的情况下,向多个对象中的一个提交一个请求。 (3)可动态指定一组对象处理请求。 应用举例
2012-11-18 08:52:51 1509
原创 C++实现命令模式
/* 命令模式:将一个请求封装为一个对象,从而使我们可用不同的请求对可以进行参数化,对请求排队或者记录请求日志 以及支持可撤销的操作 Created by Phoenix_FuliMa*/#include using namespace std;class Receiver{public: virtual void Action() { cout<<"Receiver
2012-11-17 16:17:39 1684
原创 C++实现桥接模式
/* 桥接模式:将抽象部分与它的实现部分相分离,他们可以独立变化。 合成/聚合复用原则CARP原则:面向对象设计的一个重要原则: 尽量使用合成/聚合,尽量不用使用类的继承 优点: (1)分离抽象接口及其实现部分。 (2)桥接模式有时类似于多继承方案,但是多继承方案违背了类的单一职责原则 (即一个类只有一个变化的原因),复用性比较差,而且多继承结构中类的 个数非常庞大,桥接模式是
2012-11-17 15:25:34 3025
原创 C++实现单例模式
/* 单例模式:确保一个类只有一个实例,并提供一个全局访问方式 说明: 在一个系统中要求一个类只有一个实例时才应当使用单例模式。 反过来,如果一个类可以有几个实例共存,就需要对单例模式进 行改进,使之成为多例模式(控制实例的数据,并提供全局的访问 方式)。 注释:下面的方式不支持多线程操作,要支持多线程需要再GetInstance 方式内加上锁机制 Created by Phoe
2012-11-15 09:05:25 1343 2
原创 STL迭代器失效问题记录
/* 根据书中所述,map和list相同的某些性质,当客户端对她进行元素新增操作或删除操作时, 操作的所有迭代器,在操作完成之后依然有效,但让,被删除的那个元素的迭代器必然是个例外。 而vector的迭代器在删除的时候,会返回指向下一个内容的指针,但是对vector的任何操作,一旦引起空 间重新配置,指向原来的vector的所有迭代器都将失效了。这是程序员容易犯的一个错误。*/#inc
2012-11-14 20:58:24 842
原创 C++实现组合模式
/* 组合模式:将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用用户对单个对象和 组合对象的使用具有一致性。 Created by Phoenix_FuliMa*/#include #include #include using namespace std;class Component{protected: string name;public:
2012-11-13 09:17:57 1664
原创 C++实现备忘录模式
/* 备忘录模式:在不破坏一个对象的封装性的前提下,获取一个对象的内部状态,并将其保存在对象之外, 使得对象可以恢复到原先保存的状态。 Created by Phoenix_FuliMa*/#include #include using namespace std;class Memento{private: string state;public: Memento
2012-11-11 19:30:17 1210
原创 C++实现适配器模式
/* 适配器模式:将一个接口装换为客户希望的接口,使得两个原本不能一起工作的类可以一起工作. 适配器提供客户类需要的接口,适配器的实现就是把客户类的请求转化为对适配者的相应接口的 调用。也就是说:当客户类调用适配器的方法时,在适配器类的内部将调用适配者类的方法,而 这个过程对客户类是透明的,客户类并不直接访问适配者类。因此,适配器可以使由于接口不兼 容而不能交互的类可以一起工作。这就是
2012-11-11 09:21:10 707
原创 C++实现状态模式
/* 状态模式:当一个对象的内在状态发生变化时,允许改变其行为,这个对象看来像是改变了其类。 状态模式与策略模式的UML图几乎一模一样,下面列举了两者的不同(来自网络) (1)可以通过环境类状态的个数来决定是使用策略模式还是状态模式。 (2)策略模式的环境类自己选择一个具体策略类,具体策略类无须关心环境类;而状态模式的环 境类由于外在因素需要放进一个具体状态中,以便通过其方法实
2012-11-11 09:04:07 905
原创 C++实现抽象工厂模式
/* 抽象工厂模式:创建一系列相关或相互依赖的对象的接口,而无需指定他们具体的类 Created by Phoenix_FuliMa*/#include using namespace std;class ProductA{public: virtual void display() {}};class ProductA_1:public ProductA{publi
2012-11-09 20:35:34 743
原创 C++实现观察者模式—2
多个主题对象,每个主题对象都有三个观察者,感觉有点问题,说不好。有问题请提出来。/* 观察者模式:定义一种一对多的依赖,让多个观察者同时观察一个对象,当对象状态发生变化时, 会通知所有它的观察者*/#include #include #include using namespace std;class Subject;class Observer{protect
2012-11-07 20:44:51 829
原创 C++实现观察者模式
/* 观察者模式:定义一种一对多的依赖,让多个观察者对象同时监听某一个主题对象,这个主题对象发生变化时, 会通知所有观察者对象,使得他们能够自动更新自己*/#include #include #include #include using namespace std;class Observer{public: virtual void Update() {} };
2012-11-07 20:02:09 767
原创 C++实现建造者模式
/* 建造者模式:将一个复杂对象的构建与它的表示分离, 使得同样的构建过程可以创建不同的表示*/#include using namespace std;class Builder{public: virtual void BulidPartOne() {} virtual void BuildPartTwo() {}};class ConcreteBuilder
2012-11-06 19:49:57 726
原创 C++实现装饰者模式
/* 外观模式:为子系统的一组接口提供一个一致的界面, 此模式定义了一个高层接口,这个接口使得子系统更容易使用*/#include using namespace std;class TestA{public: void display_a() { cout<<"display a..."<<endl; }};class TestB{public: voi
2012-11-06 16:57:36 716
原创 C++实现模版设计模式
/* 模版设计模式:定义一个操作中的算法框架,具体的算法细节在子类中实现。 模版方法使得子类可以不改变一个算法的结构即可重定义算法的某些特定的步骤 Created by Phoenix_FuliMa*/#include using namespace std;class TemplateMethod{public: virtual void step_1() {} vir
2012-11-04 09:20:50 701
原创 C++实现原型模式
/* 原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 Created by Phoenix_FuliMa*/#include #include using namespace std;class Prototype{public: virtual Prototype *Clone() = 0; virtual void display() =
2012-11-02 23:18:10 1921 1
原创 C++实现策略模式
/* 策略模式:定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独 立于使用它的客户而变化。也就是说这些算法所完成的功能一样,对外的接口一样,只是各 自实现上存在差异。用策略模式来封装算法,效果比较好。 Created by Phoenix_FuliMa*/#include using namespace std;class Str
2012-11-02 08:52:01 688
原创 C++实现简单工厂模式
/* 简单工厂模式:跟工厂模式很类似,不过在函数里面加上了逻辑判断 Created by Phoenix_FuliMa*/#include using namespace std;class Product{public: virtual void display() = 0;};class Product1:public Product{public: void
2012-11-01 08:43:41 1256
原创 C++实现工厂模式
/* 工厂模式:定义一个创建对象的接口,让子类决定具体实现哪个类,让类的实例化延迟到子类中。 Created by Phoenix_FuliMa*/#include using namespace std;class Product{public: virtual void display() = 0;};class Product1:public Product{
2012-11-01 08:36:08 753
InstallShield2013LimitedEdition
2015-11-20
计算机网络课件(很牛的老师讲的)附 考试标准题库
2010-08-14
华为SDH原理教材(很经典的)
2010-08-14
Linux笔试和面试题大全(保证是最全的 )
2010-08-14
C++面试题(最全的)
2010-08-14
C++笔试题(很全的)
2010-08-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人