摘要: private继承的意义在于“be implemented in turns of”,这个与上一条款中说的复合模型的第二层含义是相同的,这也意味着通常我们可以在这两种设计方法之间转换,但书上还是更提倡使用复合来进行类的设计。private继承与public的继承是完全不同的,主要体现在两个地方:其一,public继承在子类中保持父类的访问权限,即父类中是public的成员函数或成员变量,在子类中仍是public,对private或者protected的成员函数或成员变量亦是如此;但private继承则不是这样了,它破坏了父类中的访问权限标定,将之都转成private,这对子类本身并无影响(照常 阅读全文
posted @ 2014-03-15 14:50 Jerry19880126 阅读(1882) 评论(1) 推荐(0) 编辑
摘要: 如果说public是一种is-a的关系的话,那么复合就是has-a的关系。直观来说,复合就是在一个类中采用其他类的对象作为自身的成员变量,可以举个例子,像下面这样:1 class Person2 {3 private:4 string Name; // 复合string类型的变量5 PhoneNumber HomeNumber; // 复合PhoneNumber对象6 PhoneNumber TelephoneNumber;7 };我们一般会说人有名字,有家庭电话,有手机电话等,但我们一般不会说人是一个名字,或者人是一个家庭电话等。所以在这里,我们并不会去使用publi... 阅读全文
posted @ 2014-03-15 00:11 Jerry19880126 阅读(1316) 评论(0) 推荐(0) 编辑