2012-06-14 2 views
0

Можно создать дубликат:
When to use C++ private inheritance over composition?Состав над частным наследованием

Пожалуйста, помогите мне со сценарием, где композиция является предпочтительным над частным наследованием.

+2

Это почти любой сценарий, который вы можете придумать :) – dasblinkenlight

+0

@dasblinkenlight ... каковы компромиссы с использованием частного наследования – Kunal

+0

Вы в некоторой степени отказываетесь от контроля доступа: когда вы наследуете конфиденциально, вы можете * случайно * доступ к защищенному методу или члену. [Здесь] (http://www.parashift.com/c++-faq-lite/private-inheritance.html#faq-24.3) - хорошее обсуждение темы. – dasblinkenlight

ответ

2

Все время. Реальный вопрос: когда предпочтение отдается частному наследованию над составом? Только когда требуются виртуальные функции. Иначе, всегда отдавайте предпочтение композиции.

Смежные вопросы