пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

I семестр:
» Оп

Дружественные функции и классы. Перегрузка оператора << для потокового вывода произвольного объекта.

Дружественная функция — это функция, которая не является членом класса, но имеет доступ к членам класса, объявленным в полях private или protected. Одна из причин, почему язык С++ допускает существование функций-друзей, связана с той ситуацией, когда два класса должны использовать одну и ту же функцию. Имеется два важных ограничения применительно к дружественным функциям. Первое заключается в том, что производные классы не наследуют дружественных функций. Второе заключается в том, что дружественные функции не могут объявляться с ключевыми словами static или extern.

Чтобы объявить класс дружественным, в теле класса, который предоставляет дружбу, перед именем дружественного класса необходимо использовать зарезервированное слово С++ —  friend; когда класс объявлен дружественным, все его методы так же становятся дружественными, к тому классу в котором он объявлен. При этом методы класса, который разрешил дружбу не имеют доступа к элементам дружественного класса;

std::ostream &operator << (std::ostream &out, const char* a)


19.01.2017; 21:55
хиты: 293
рейтинг:0
Точные науки
информатика
Языки программирования
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь