11 寂寞的泡面

尚未进行身份认证

我要认证

我只是一个快乐的程序员。

等级
TA的排名 9k+

Observer模式——行为模式

<br /><br />observer.h<br />#ifndef _OBSERVER_H_#define _OBSERVER_H_#include <string>using namespace std;typedef string State;class Subject;class Observer{public: virtual ~Observer(); virtual void Update(Subject* sub) = 0; vir

2011-04-15 20:14:00

linux下C语言操作mysql数据库(系统自带版本3.23.54)

      我的上一篇blog介绍了在linux环境下如何安装配置系统自带的mysql数据库,并列举了mysql的一些简单的操作。接下来我将介绍一下如何利用mysql提供给我们的API来访问并操作mysql数据库(C语言)。首先,我们需要安装mysql-devel-3.23.54a-11.i386.rpm包,这样我们才能使用mysql提供的API和类库。mysql-devel-3.23.54a-11.i386.rpm的下载地址:http://www.rpmfind.net/linux/rpm2html/se

2011-04-12 23:58:00

redhat9安装配置mysql数据库(系统自带,版本3.23.54)

Mysql安装:首先,查看你的系统中是否已经安装了mysql,在终端里输入mysql,[root@localhost root]#mysqlbash: mysql: command not found说明系统中还没有安装mysql数据库,如果出现,说明已经安装了mysql数据库,那么跳过接下来的安装步骤,直接看配置步骤吧。“从这里开始”——>“系统设置”——>“添加/删除应用软件”——>“SQL数据库服务器”,如下图所示。选择——>“细节”,安装“标准软件包”和“额外软件包”,系统会提示你插入第二张和第三张

2011-04-12 18:11:00

Flyweight模式——结构型模式

<br /><br /> <br />flyweight.h<br />#ifndef _FLY_WEIGHT_H_#define _FLY_WEIGHT_H_#include <string>using namespace std;class Flyweight{protected: Flyweight(string intrinsic_state);public: virtual void Operation(const string& extrinsic_s

2011-04-05 09:12:00

Strategy模式——行为模式

<br /><br /> <br />strategy.h<br />#ifndef _STRATEGY_H_#define _STRATEGY_H_class Strategy{public: virtual ~Strategy(); virtual void AlgrithmInterface()=0;protected: Strategy();};class ConcreteStrategyA:public Strategy{public:

2011-03-31 21:55:00

Template模式——行为模式

<br /><br />template.h<br />#ifndef _TEMPLATE_H_#define _TEMPLATE_H_class AbstractClass{public: virtual ~AbstractClass(); void TemplateMethod();protected: AbstractClass(); virtual void PrimitiveOperation1()=0; virtual void PrimitiveOp

2011-03-28 17:50:00

Proxy模式——结构性模式

<br /><br /> <br />proxy.h<br />#ifndef _PROXY_H_#define _PROXY_H_class Subject{public: virtual ~Subject(); virtual void Request()=0;protected: Subject();};class ConcreteSubject:public Subject{public: ConcreteSubject(); ~Con

2011-03-27 15:21:00

Facade模式——结构型模式

外部与一个子系统的通信必须通过一个统一的门面(Facade)对象进行,这就是门面模式。facade.h#ifndef _FACADE_H_#define _FACADE_H_class SubSystem1;class SubSystem2;class Facade{public: ~Facade(); static Facade* Instance(); void OperationWrapper();protected: Facade();priv

2011-03-26 01:28:00

Adapter模式——结构型模式

<br /><br /> <br />adapter.h<br />#ifndef _ADAPTER_H_#define _ADAPTER_H_class Target{public: Target(); virtual ~Target(); virtual void Request();};class Adaptee{public: Adaptee(); ~Adaptee(); void SpecificRequest();};c

2011-03-24 20:29:00

Bridge模式——结构型模式

<br /><br /> <br />tank.h<br />#ifndef _TANK_H_#define _TANK_H_class TankImpl;class Tank{public: virtual ~Tank(); virtual void shot()=0; virtual void run()=0;protected: Tank();};class ChinaTank:public Tank{public: ChinaT

2011-03-23 19:51:00

Bridge模式——结构型模式

<br /><br /> <br />tank.h<br />#ifndef _TANK_H_#define _TANK_H_class TankImpl;class Tank{public: virtual ~Tank(); virtual void shot()=0; virtual void run()=0;protected: Tank();};class ChinaTank:public Tank{public: ChinaT

2011-03-23 19:33:00

Singleton模式——创建型模式

<br /><br /> <br />Singleton.h<br />#ifndef _SINGLETON_H_#define _SINGLETON_H_class Singleton{public: virtual ~Singleton(); static Singleton* Instance();protected: Singleton();private: static Singleton* m_instance;};#endif<br />

2011-03-22 22:09:00

AbstractFactory模式——创建型模式

<br /><br />factory.h<br />#ifndef _ABSTRACT_FACTORY_H_#define _ABSTRACT_FACTORY_H_class Product;class AbstractFactory{protected: AbstractFactory();public: virtual ~AbstractFactory()=0; virtual Product* CreateProductA()=0; virtual P

2011-03-21 12:10:00

FactoryPattern——创建型模式

<br /><br />以下代码已经在VC6.0中测试运行通过。<br />factory.h<br />#ifndef _FACTORY_H_#define _FACTORY_H_#include <string>using namespace std;class Fruit;class Factory{protected: Factory(){};public: virtual ~Factory() = 0; virtual Fruit* Crea

2011-03-20 19:56:00

像一个电脑高手一样操作windows——windows常用快捷键大全

<br />一、常见用法:<br />F1           显示当前程序或者windows的帮助内容。<br />F2           当你选中一个文件的话,这意味着“重命名”<br />F3           当你在桌面上的时候是打开“查找:所有文件” 对话框<br />F10或ALT        激活当前程序的菜单栏<br />windows键或CTRL+ESC   打开开始菜单<br />CTRL+ALT+DELETE     在win9x中打开关闭程序对话框<br />DELETE   

2011-03-06 10:45:00

细谈C/C++中的前置++和后置++

      ++运算符是大家都再熟悉不过的东西了,无论是在for循环里,还是在一些赋值语句中,都有++的身影。这里我和大家分享一下我对++的理解,若有不足之处欢迎批评指正啊。首先,看这样一段代码:#include using namespace std;int main(){ int i; ++++i; // All Right //i++++; // error C2105: '++' needs l-value //++i=10; // All Right

2011-02-27 14:22:00

如果你的电脑蓝屏了,请温柔的对她。。。

<br />      如果你的电脑蓝屏了,请不要气愤的说一句"fucking shit,damn it“,然后直接冷启动。你可以根据屏幕上显示的错误码来判断是哪出了问题,下面就是一些蓝屏的原因,仅供参考。<br /> 0 0x00000000 作业完成。 <br />1 0x00000001 不正确的函数。 <br />2 0x00000002 系统找不到指定的档案。 <br />3 0x00000003 系统找不到指定的路径。 <br />4 0x00000004 系统无法开启档案。 <br />5 0

2011-02-22 23:08:00

windows下DLL的编写

<br />      在VC中新建一个空的Win32动态链接库工程(Win32 Domanic-Link Library),然后添加一个C++ Sourse File到工程,我这里的文件名取DllTest.cpp。然后在文件中添加如下内容: //DllTest.cpp  _declspec(dllexport) int add(int a,int b)<br /> {<br />      return a+b;<br /> }  _declspec(dllexport) int subtract(int

2011-02-09 21:09:00

linux库文件编写

静态库与动态库的区别:      如果程序是在编译时加载库文件的,就是使用了静态库。如果是在运行时加载目标代码,就成为动态库。换句话说,如果是使用静态库,则静态库代码在编译时就拷贝到了程序的代码段,程序的体积会膨胀。如果使用动态库,则程序中只保留库文件的名字和函数名,在运行时去查找库文件和函数体,程序的体积基本变化不大。静态库的原则是“以空间换时间”,增加程序体积,减少运行时间;动态库则是“以时间换空间”,增加了运行时间,但减少了程序本身的体积。其实,程序设计就是一个“时间与空间的矛盾”。下面我们就以实际例

2011-02-05 22:12:00

设置个性的windows XP开机音乐

<br />      每次开机都听XP的默认开机音乐已经让我感到厌烦了,不知道你是否也和我一样。如果是那就像我一样设置属于自己的个性windows开机音乐。具体步骤如下:<br />①在网上下载自己喜欢的开机音乐,要尽量短些,就像短信提示音一样(不让你的开机音乐会让你恶心到吐血的!)。我选择的是FC经典坦克大战的BGM(background music),下载地址:http://www.midishow.com/midis/show/11892。<br />②要想设置成windows的开机音乐,文件的格式

2011-01-22 19:29:00

查看更多

勋章 我的勋章
    暂无奖章