自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 人与继承的C++实现

allaboutprogram 上面的一个帖子:如果上帝是程序员,我们每个人不用说了,肯定是人的每个实例,但是上帝会把人定义为接口呢还是类?究竟我们是继承了人这个基类,还是实现了人的接口?人妖这个类怎么就能变过来了?双胞胎怎么生成的?连体婴儿呢?我的看法是:人是类, 而不是接口, 有些东西人是天生就有的, 因此人应该是类.人妖属于保护继承, 隐藏了一些细节, 同时也覆盖了某些函数. 既然是prot

2005-06-27 11:59:00 1663 3

原创 C++ Templates (给模板参数命名2)

上面那个帖子的实现手法不太好, 当client使用的时候, 还是需要 BreadSlicer, Policy2_is > bc;复杂的嵌套模板语法, 如果能够去掉PolicyN_is, 例如可以这样 BreadSlicer如果定制其中的policy2, 这样 BreadSlicer bc;如果需要定制2, 3, 这样 BreadSlicer bc;与顺序无关, 先写3, 再写2也可以 BreadS

2005-06-27 09:49:00 1759

原创 C++ Templates (给模板参数命名)

看C++ Templates 16.1 Named Template Arguments书中的例子实现手法使用多重/虚拟继承, 实现手法感觉比较诡秘. 但是至少告诉我是可以实现的. 于是干脆自己也练了练手,  博君一笑. 只在VC7.1下测试过, VC6也许可能可以迂回实现, 但是估计工作量太大. 1. 首先需要一个基本的 If 语句. template struct if_{    typed

2005-06-26 16:44:00 1955 3

原创 C++ Templates

又发现一个诡秘的地方模板派生类(下面的D) 从一个 确定性基类(指B)继承, 在D的定义中, 编译器优先查找基类中的名字, 然后才是模板参数placeholder (即Type) .例如:struct B{   typedef int Type;        //基类中有一个Type名字};templateclass D : public B           //从非依赖基类B派生, {pu

2005-06-24 17:22:00 1453 1

原创 C++ Templates 的一个例子

C++ Templates 中的一个例子:一个模板基类templateclass Base{public:   int field;       // #1};派生类, 从上面的模板基类继承注意, 在此, 基类并不能确定就是上面的Base, 因为 下面#3 处可以看到, 程序对Base进行了特化templateclass Derived : public Base{public: void f(

2005-06-23 15:36:00 2838

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除