明智而审慎的使用Private继承

C++如何将Public继承视为Is-a。

Private继承并意味着 Is-a

如果类之间的继承关系是private。编译器不会自动将一个derived对象转换成一个base classes。

这和public继承的情况不同。

由private base classes继承而来的所有成员,在derived class中都会变成private属性,总是他们在base classes中原本是protected或者public


private继承意味着implementation in terms of(根据某物实现出)。如果你让class D 以private 形式继承class B,你的泳衣是为了采用

class B内已经具备的某些特征,不是因为B对象和D对象存在有任何观念上的关系。


Private继承只是一种实现技术,Private继承意味着只有实现部分被继承,接口部分应略去。

Private继承在

i软件设计层面上没有意义,其意义只在于软件实现层面上。


什么时候使用复合什么时候使用private 继承呢?

答案是:尽可能使用继承,必要时才使用privtae继承。

何时才是必要呢?

主要是当protected成员和或virtual函数牵扯进来的时候。


private继承可以造成empty base最优化。这对于致力于对象尺寸最小化的程序库开发者而言,可能很重要。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值