![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| devmstr |
|
||||
![]() Developer ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 28.4.2004 Где: Ukraine Репутация: нет Всего: 11 |
Есть класс Сlass1, потомок класса ClassParent.
У него есть подкласс SubClass, Ex:
Как из метода класса SubClass получить доступ к методу СlassParent. Пробовал объявить нужные методы класса ClassParent static, Не помогло:
Как лучше всего решить данную проблему? -------------------- Think different ©Steve Jobs ![]() |
||||
|
|||||
| marcusmae |
|
|||
![]() stravaganza ![]() ![]() Профиль Группа: Участник Сообщений: 874 Регистрация: 26.3.2006 Репутация: 5 Всего: 39 |
devmstr, сross-reference. Конструкции плюсов допускают взаимное использование классами друг друга (с предописанием). Скажем, Вы можете экземпляр подкласса объявить полем в большом классе, а при инициализации большого класса, передавать в подкласс ссылку на экземпляр большого класса и тем самым получить доступ к его публичным членам. Другой способ : callback или указатель на функцию. Это сообщение отредактировал(а) marcusmae - 24.11.2007, 01:13 -------------------- ἀπὸ μηχανῆς θεός |
|||
|
||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 35 Всего: 60 |
как ругается? Может он просто приватный?
Добавлено через 50 секунд проблемы вобщем-то тут нет |
|||
|
||||
| SaDFromSpb |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 5.4.2006 Где: Санкт-Петербург Репутация: 3 Всего: 3 |
devmstr, В С++ nested класс ничего не знает о классе агрегаторе, поэтому, чтобы пользоваться функционалом, класса С, тебе придется явно параметризовать класс B указателем на конкретный экземпляр A или C.
А вот если статически методы объявить, то да.. Проблем не должно быть... Их откуда угодно вызвать можно. Это сообщение отредактировал(а) SaDFromSpb - 24.11.2007, 13:46 -------------------- "За исключением части, касающейся потоков, библиотека Loki написана на стандартном языке С++. Увы, это означает, что многие современные компиляторы не смогут работать с ней в полном объеме." (А. Александреску. Modern C++ design. 2001) |
|||
|
||||
| devmstr |
|
|||
![]() Developer ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 28.4.2004 Где: Ukraine Репутация: нет Всего: 11 |
Спасибо, проблема решилась!
-------------------- Think different ©Steve Jobs ![]() |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |