
面向对象
落雨收衫
既然选择了远方,就应该风雨兼程!
展开
-
日期包装器
下面是linux日期包装器,没有用到localtime_r,其实应该也没有什么关系。 Data.h #ifndef _DATE_H_ #define _DATE_H_ #include class Date { protected: time_t sysTime; int year; int month; int day; int hour; int min; int sec原创 2011-11-16 10:42:00 · 615 阅读 · 0 评论 -
Mutex包装器
上一篇博客讲了,Linux线程的包装器,既然用了了线程不可避免的要用到互斥量,所以下面给出了互斥量的包装器,也是在某一开源项目中看的,我略加删改,以突出重点。 Mutex.h #ifndef _MUTEX_H_ #define _MUTEX_H_ #include class Mutex { pthread_mutex_t mutexID; public: Mutex()原创 2011-11-16 10:01:44 · 557 阅读 · 0 评论 -
线程包装器
Linux中POSIX线程的接口都是C风格的,在C++中必须做一个wrapper类去套住它们。刚好在一个开源的项目中看到一个简单有效的代码,特贴出来,雅俗共赏。 Thread.h #ifndef _THREAD_H_ #define _THREAD_H_ #include class Thread { pthread_t thread; bool runnableFlag; p原创 2011-11-16 00:03:36 · 838 阅读 · 0 评论 -
套接字包装器
对于网络的调用的包装一直都是做为一个工程的支撑,使用ACE固然是不错的选择,但是对于一个小工程来说未免有些喧宾夺主的味道。ACE中使用面向对象的技术去避免很多接口的误用,却造成了整个工程的规模变得很庞大难用。下面给出一个简单的实现。 SocketImp.h #ifndef _SOCKETIMP_H_ #define _SOCKETIMP_H_ #include typedef in原创 2011-11-16 15:42:44 · 697 阅读 · 0 评论 -
日志包装器
虽然现在有许多成熟的日志工具可供选用,但是自己编写一个日志类可以让你用得更加得心应手。对于抛出异常的处理,C++语言本身并没有做什么东西,可怜的STL也只有一个很简单的异常类,所以下面先给出一个最简单的Exception类。 Exception.h #ifndef _EXCEPTION_H_ #define _EXCEPTION_H_ #include class Exception原创 2011-11-16 10:13:33 · 568 阅读 · 0 评论 -
vector包装器
C++模板类是多态的一种表达形式,如vector一类的模板是编译时多态,通过一个简单的包装就可以实现运行时多态,已达到工程上的形式统一,体现了一种coding的美。 对于标准模板库只能用聚合,不能用继承,因为标准模板库的类模板的虚构函数一般都不是虚拟函数,如果继承的话会导致虚构子类时的不确定行为。 #ifndef _VECTOR_H_ #define _VECTOR_H_ #include原创 2012-05-16 14:49:51 · 703 阅读 · 0 评论