2014-11-14 2 views
1

В этом link говорится о разрешении более ограничительного доступа к методу производного класса.Почему C++ позволяет более ограничительный доступ к методу производного класса?

В. В чем причина разрешения этого вопроса на C++?

Языки, такие как Java & C# не разрешают. Это полезно в некоторых случаях? Если так, пожалуйста, помогите мне понять.

+0

Что есть в ссылке? Сделайте этот вопрос полезным для будущих читателей. – Bathsheba

+3

C++ и Java и C# - разные языки. У них разные философии. –

ответ

3

Это больше связано с тем, что он никогда не был запрещен. И теперь уже слишком поздно: слишком много кода сломается. Помните, что C++ является значительно более старым языком, чем Java или C#.

Но философия C++ вдохновляет вас на то, чтобы спросить «почему запретить это?». Это может даже быть полезным: некоторые люди используют его и делают переопределенные методы частными. Объем документации, которую вы должны приложить к частному методу, может быть значительно меньше общедоступного метода. Это означает, что вы не повторяетесь и вынуждены полагаться на общедоступный/защищенный метод в базовом классе для комментариев.

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