Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
Simito
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 18
#1

Дружественность...

05.05.2011, 19:34. Просмотров 1170. Ответов 5
Метки нет (Все метки)

Можно ли наследовать дружественность? Т.е. есть класс А, наследуемый от B. Могу ли я в классе B написать friend class С, так чтобы все потомки B наследовали эту дружественность...?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2011, 19:34
Ответы с готовыми решениями:

не работает дружественность
Привожу пример тривиального кода, будем считать что все что надо уже...

Дружественность классов
Просьба помочь горе-программисту. Проблема: есть дружественный класс...

Не работает дружественность классов
Всем привет, столкнулся с проблемой, не работает дружественность, объявляю...

Шаблоны и дружественность. Перегрузка оператора << через дружественную функцию в шаблоне
Доброго времени суток, уважаемые форумчане! Есть класс-шаблон, реализующий...

Проверить два числа на "дружественность"
Assembler. Даны два натуральных числа A и B. Если они являются дружественными...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
froderik
0 / 0 / 0
Регистрация: 30.04.2011
Сообщений: 49
05.05.2011, 19:41 #2
насчет friend class С не знаю точно
Можно сделать наследника от нужного класса и там вынести свойство в public. А потом опять же через имя этого нового класса получить доступ к private свойству нужного класса.
0
Simito
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 18
05.05.2011, 19:58  [ТС] #3
1) Да, как-то так можно сделать.
2) Поискал и нашел, что дружественность не наследуется.

Но... На самом деле у меня следующая ситуация:

Есть абстрактный класс А, от которого наследуется класс B. Предполагается, что от А могут наследоваться еще классы.
Соответственно, как я понимаю, чтобы каждый из этих потомков смог видеть закрытые данные класса С, мне в каждом из них надо описать friend. Можно ли как-то этого избежать?

- Описать friend в производном классе, как я уже понял, ничего не даст.
- Предложенный выше вариант подходит, но мне он не подходит.
Есть ли еще варианты?
0
froderik
0 / 0 / 0
Регистрация: 30.04.2011
Сообщений: 49
05.05.2011, 20:05 #4
я не совсем понял класс С тоже наследник А ?
0
Simito
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 18
05.05.2011, 20:19  [ТС] #5
Эмм... ошибся я в совем посте)

Есть абстрактный класс А, от которого наследуется класс B. Предполагается, что от А могут наследоваться еще классы.

Соответственно, как я понимаю, чтобы каждый из этих потомков смог видеть закрытые данные класса С, мне
в классе С описать friend к каждому из этих потомков. Как этого избежать? Вот =)

Хотел написать в классе С: friend class A - но не получиться.

Класс С не наследуется, он отделный.
0
froderik
0 / 0 / 0
Регистрация: 30.04.2011
Сообщений: 49
05.05.2011, 20:59 #6
я более чем уверен что так ты не сможешь сделать, надо искать другой способ
0
05.05.2011, 20:59
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru