| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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, то вскрыть его не представляет проблем.
|