C protected 继承和 private 继承是不是没用的废物?
扫描二维码
随时随地手机看文章
〇、引言
既然你所统计的项目里出现了 private 继承和 protected 继承,这不正说明确实有他们的用武之地吗?
一、现有项目分析(以 STL 的三大实现为例)
让我们来康康 C 代码的标杆——STL 的源码,是怎么做的:
二、protected private 继承的实际运用场景考察
1)很多人说你用 protected private 继承倒不如用组合,把原本的基类作为一个私有或保护字段。这种论调是很没有道理的。很多时候,继承是替代不了的。比如 C 里有一种非常常见的优化技术叫:
{
};
template <typename T, typename Allocator = MyAllocator>
class MyVector: public Allocator
{
};
void use_allocator(const MyAllocator