![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
FTK |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 11.6.2005 Репутация: нет Всего: нет |
Привет!
Сейчас пытаюсь написать простенькую прогу, и в процессе возник такой вопрос: Можно ли вместо
Сделать не friend - функцию, а обычную. Да, и еще: что лучше использовать конструктор копирования или операцию присваивания? Заранее спасибо за ответы =) |
|||
|
||||
Дрон |
|
||||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 10 Всего: 93 |
И то, и то. Это разные методы, применяющиеся в разных ситуациях.
Не знаю, наверно можно. А самому сложно проверить? ![]() -------------------- Да. Именно так. |
||||
|
|||||
FTK |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 11.6.2005 Репутация: нет Всего: нет |
Дрон
У меня компилятор накрылся, что-то не работает, поэтому я так, абстрактно пытаюсь придумать... |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Если в классе A достаточно открытого интерфейса для вывода в поток, то можно обойтись без friend, иначе - нельзя.
-------------------- ... |
|||
|
||||
FTK |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 11.6.2005 Репутация: нет Всего: нет |
А...
А что значит
|
|||
|
||||
Earnest |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Открытый - значит public.
Например:
Тогда функция
вполне может вывести значение переменной m_xxx в поток и не будучи friend. А если нет такой функции GetXXX и переменная m_xxx не public, то для вывода ее значения придется оператор << объявлять как friend. -------------------- ... |
||||
|
|||||
ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 5 Всего: 29 |
...потому как нам не дадут этот самый m_xxx - доступа нет! Friend для того и нужен - позволяет работать с private/protected методами и переменными класса. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |