Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > Приватный расприватить |
Автор: Neitron 11.5.2006, 15:27 |
Подскажите, возможно ли приватный член класс, расприватить для одной единсвенной функции, не используя друзей и наследования? |
Автор: Earnest 11.5.2006, 15:48 |
Нельзя. Причем наследование тебе "расприватить" не поможет. Вот "распротектить" - это запросто ![]() Кстати, раз возникла такая надобность, встает вопрос о дизайне: все ли там хорошо? Все же приватные члены - дело интимное. Или это не твой класс? Тогда расприватить тебе вообще ничто не поможет... |
Автор: Neitron 11.5.2006, 16:11 |
Класс VCL эти.... засунули OnMouseMove в приват. Расприватить то я могу в наглую.... но не хочется лесть в чужой код.... Ладно. всё. |
Автор: MAKCim 11.5.2006, 16:40 | ||
причем если наследование разрешено и конструктор не приватный ![]() |
Автор: cozzzy 11.5.2006, 16:42 | ||
|
Автор: MAKCim 11.5.2006, 16:43 | ||||
![]() |
Автор: bsa 11.5.2006, 16:47 | ||
Есть у меня подозрение, что это было сделано специально (допустим, используется для внутренних целей). |
Автор: threef 11.5.2006, 16:54 |
Перехвати мышА раньше обработчика класса |
Автор: Mayk 12.5.2006, 19:28 | ||
См. Саттера. Да, если класс имеет шаблонные функции. Шаблонные ф-ции имеют полный доступ к private переменным класса.
|
Автор: Earnest 12.5.2006, 19:32 |
Точно Mayk, отличное решение! Только вот вряд ли там есть подходящие функции... |
Автор: MAKCim 12.5.2006, 22:11 | ||
если уж лезть в чужой код, то самое то, хоть остальная логика не нарушится ![]() |
Автор: Vyacheslav 15.5.2006, 12:21 | ||
Что не то. Если это производный класс TControl, то там OnMouseMove - protected Ну даже, если в Вашем классе свойство private и этот класс все таки производный от TControl, то вскрыть его не представляет проблем.
|