https://blog.csdn.net/nishisiyuetian/article/details/82730961
public和private继承
https://www.jianshu.com/p/21d781f96680
1) Private继承意味着is-implemented-in-terms of(根据某物实现出)。它通常会比复合的级别低。但是当derived class 需要访问protected base class的成员,或者需要重新定义继承而来的virtual函数的时候,这么设计才是合理的。