Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Simito
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 18
#1

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

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

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

не работает дружественность - C++
Привожу пример тривиального кода, будем считать что все что надо уже перегружено: class B; class A { friend class B; ...

Дружественность классов - C++
Просьба помочь горе-программисту. Проблема: есть дружественный класс Interface, который не видит НИЧЕГО из основного класса List ...

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

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

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

не работает дружественность - C++
Привожу пример тривиального кода, будем считать что все что надо уже перегружено: class B; class A { friend class B; ...

Дружественность классов - C++
Просьба помочь горе-программисту. Проблема: есть дружественный класс Interface, который не видит НИЧЕГО из основного класса List ...

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

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

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

не работает дружественность - C++
Привожу пример тривиального кода, будем считать что все что надо уже перегружено: class B; class A { friend class B; ...

Дружественность классов - C++
Просьба помочь горе-программисту. Проблема: есть дружественный класс Interface, который не видит НИЧЕГО из основного класса List ...

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

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

не работает дружественность - C++
Привожу пример тривиального кода, будем считать что все что надо уже перегружено: class B; class A { friend class B; ...

Дружественность классов - C++
Просьба помочь горе-программисту. Проблема: есть дружественный класс Interface, который не видит НИЧЕГО из основного класса List ...

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

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

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


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

Или воспользуйтесь поиском по форуму:
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
Yandex
Объявления
05.05.2011, 20:59
Ответ Создать тему
Опции темы

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