5D空间

学习总结与经验交流

   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  问题:想设计一个类模板,其中的某种特化或者半特化与其他特化略有不同,可能只是增加个别成员函数。应该如何实现?重载还是继承?
  具体问题:比如说想设计一个矩阵类模板< typename T, int numberOfRows, int numberOfColumns >,现在其他特化都可以通用一个模式,只是在bool型矩阵的时候想增加一个⊙(布尔乘法)函数,应该怎么做?
  
  最开始想到的是重载,重载矩阵类的bool特化确实可以实现,但是大部分代码相同,这个工作是不是有点重复?
  然后想到继承,但是类模板特化的继承只能继承其他特化或者其他类,比如不能够class Test< bool > : public Test< bool >,如此一来,我怎么才能得到原本的bool特化的部分并增加新的函数呢?
  于是我现在陷入了窘境,希望得到大家的帮助。谢谢。
  (注:不想做一个新的类来继承模板的bool特化,比如,不想class BoolMatrix : public Matrix< bool >。 )
posted on 2011-03-30 22:51 今晚打老虎 阅读(610) 评论(0)  编辑 收藏 引用 所属分类: 困难与疑问

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理