С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
3 / 3 / 2
Регистрация: 07.02.2013
Сообщений: 185
1

Friend-функции

28.08.2015, 17:13. Показов 1385. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
из теории ясно, что friend функция — это функция, которая не является членом класса, но имеет доступ к членам класса, объявленным в полях private или protected.
Но мне задали хитрый вопрос:
"Для каких целей перегруженный оператор в friend-функции используется?"
Кто поможет, благодарю заранее.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.08.2015, 17:13
Ответы с готовыми решениями:

Перегрузка операторов, friend или нет friend?
Всем здравствуйте. Есть такой вопрос: при перегрузке операторов в классе(пусть будут + и = (вообще...

Классы. Программирование алгоритмов с использованием конструктора, деструктора, friend - функции инициализации set() и функции вывода результатов prin
Братаны, выручайте!:help: Общая постановка. Пользовательский класс Х должен содержать необходимые...

Классы. Программирование алгоритмов с использованием конструктора, деструктора, friend - функции инициализации set() и функции вывода результатов pri
Братаны, выручайте! Общая постановка. Пользовательский класс Х должен содержать необходимые...

Дружественные (friend) функции
Доброго времени суток. Кратко о сути: Имеются 2 класса - Float (представляет собой число типа...

8
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
28.08.2015, 17:21 2
Цитата Сообщение от levgen Посмотреть сообщение
"Для каких целей перегруженный оператор в friend-функции используется?"
Вопрос точно так звучит?

Добавлено через 4 минуты
Или: "В каких случаях, при перегрузке операторов класса, исполузются friend-функциии?"
0
3 / 3 / 2
Регистрация: 07.02.2013
Сообщений: 185
28.08.2015, 17:22  [ТС] 3
lss, перед этим был вопрос - "Оператор присваивания может ли быть friend-функцией?", ответ - "не может", далее у меня спросили этот вопрос -"Для каких целей перегруженный оператор в friend-функции используется?".
Я так думаю, что здесь имеется в виду вообще перегруженный оператор не важно какой. Хотя если есть фишки в разнице между ними в friend-функциях тоже хотелось бы услышать. А так формулировка вопроса слово в слово
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
28.08.2015, 17:22 4
Вопрос с разряда " Почем виноградный велосипед моряку?" - но предпологаю, что спрашивали про
C++
1
friend ostream& operator<<(ostream& os, const Date& dt);
0
3 / 3 / 2
Регистрация: 07.02.2013
Сообщений: 185
28.08.2015, 17:25  [ТС] 5
Цитата Сообщение от lss Посмотреть сообщение
Или: "В каких случаях, при перегрузке операторов класса, исполузются friend-функциии?"
может препод имел в виду это, но сформулировал по своему. Затрудняюсь ответить.
0
183 / 181 / 66
Регистрация: 15.02.2015
Сообщений: 515
29.08.2015, 14:11 6
При перегрузке оператора, первым параметром которого не может быть экземпляр самого класса, и если в реализации этого оператора нужно обращаться к защищённым/приватным членам класса.
Естественно, речь идёт только о бинарных операторах.
1
Эксперт С++
8482 / 6149 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
29.08.2015, 16:10 7
Лучший ответ Сообщение было отмечено levgen как решение

Решение

Цитата Сообщение от levgen Посмотреть сообщение
"Для каких целей перегруженный оператор в friend-функции используется?"
Когда нужна перегрузка оператора в парметр которого принимается объект другого класса и этот параметр стоит слева.

т.е

C++
1
friend Coord operator+(int i,const Coord& obj);//   int слева
C++
1
ob1= 10 + ob2;
1
Эксперт С++
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
29.08.2015, 17:01 8
Еще один случай, когда требуется неявное преобразование типа левого операнда в бинарном операторе, например, чтобы прибавить к целому числу комплексное.
1
3 / 3 / 2
Регистрация: 07.02.2013
Сообщений: 185
29.08.2015, 20:53  [ТС] 9
Благодарю всех за помощь. Если будут у кого-то еще идеи, то напишите пожалуйста, если не сложно.
0
29.08.2015, 20:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.08.2015, 20:53
Помогаю со студенческими работами здесь

Не работают friend функции
Есть класс Student, где объявлены дружественные функции: #pragma once #include &lt;iostream&gt;...

friend и member функции
Народ, объясните пожалуйста как пишутся данные функции, принцип их написания, откуда что берется. И...

Реализация friend функции
Есть код. Нужно реализовать вывод ответа через friend. Подскажите пожалуйста как это сделать?...

Почему ругается в friend функции
std::ostream&amp; operator&lt;&lt;(std::ostream&amp; ost, const Array&amp; Ar) { for(int i=0; i&lt;m_current; i++)...

Реализация дружественной (friend) функции
Всем доброго времени суток. Хотел бы попросить помощи, ибо запутался. Задачи состоит в том, чтобы...

Friend-функции перегрузки оператора
Всем доброго времени суток =) У меня есть следующий код заголовочного файла: enum month {jan = 1,...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru