Chinaunix首页 | 论坛 | 博客
  • 博客访问: 449713
  • 博文数量: 138
  • 博客积分: 4114
  • 博客等级: 上校
  • 技术积分: 1341
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-14 20:41
文章分类

全部博文(138)

文章存档

2014年(1)

2013年(2)

2012年(78)

2011年(13)

2010年(34)

2009年(10)

我的朋友

分类: LINUX

2010-04-23 13:25:03

总监要改东西,把原来的架构改为单件模式。刚开始的时候只是改了最外层的类,但是总监还要改内部的,就写了一个单件的模板类
class A_c
{
    public:
       .... youdata
       static A_c * Instance()
       {
           static A_c  instance;
           return &instance;
       }
    protected:
      
       A_c
       {
          _inited = false;
       }
    private:
       bool _inited;
};

这是最简单的单件形式,可是这个类中要用到模板,类似这样的
class A_c
{
    .....
    Template
    T * getyouwant(id)
    {
       return somethingtoget_T(id);
    }
};

这个模板函数就是要吧一些数据库中定义的东西,读出,如果是单键模式就不用每次都去调用了,因为这些实例是不会更改的,因此,单键将会是一个最好的选择。

所以只有这样
template
class specTemplate_c
{
   public:
       T *
somethingtoget_t(id);
   public:
       SpecTemplate_c * Instance()
       {
             static SpecTemplate_c instance;
             return &instance;
       }
   protected:
       SpecTemplate_c()
       {
            _inited = false;
       }
   private:
      bool _inited;
};

这样具现的SpecTemplate也是单键了;
写完这个case,感觉模板编程好强大,得好好研究一下。
阅读(526) | 评论(0) | 转发(0) |
0

上一篇:C++中模板的声明和定义

下一篇:c++ static

给主人留下些什么吧!~~