首页 / 软件开发 / C++ / C++:使用复合(composition) 代替 private继承
C++:使用复合(composition) 代替 private继承2014-11-16复合方式(composition)和 private继承, 都能表示, 根据某个类实现出新的类的形式, 即通过使用protected成员, 和重写virtual函数.优先选择复合方式. 原因:1. 复合方式, 可以实现重写virtual函数, 然后阻止派生类重新定义virtual函数;2. 可以使Widget的编译依存度降至最低, 即只包含类的声明式(复合), 而避免包含基类的头文件(继承);例外: private继承, 可以使EBO(空白基类最优化), 在某些空白基类的情况下很重要, 不过很少出现. 所以优先复合.