Войти на сайтРегистрацияЗабыли пароль?
Android
Меню
Топ-игры
Counter Strike 1.6 для Android
Каталог
Новинки
Тема Ngntd для MIUI на Xiaomi и Redmi
Инструкция Android 14 (Hyper OS) — Руков
Тренировочный вариант по математике ОГЭ
ОГЭ по физике 2026 — Слив Решу ОГЭ (зада
асаба хан әйелі — arhivach Хан Там
Справочные материалы ЕГЭ 2026 — математи
vikstimm — Слив
Популярные статьи
vivo X300 Ultra: ключевые характеристики раскрыты до ан ...
OnePlus готовит еще один смартфон линейки Ace 6
Samsung Galaxy S26 получит поддержку AirDrop
ИИ-генерация кадров появится в PlayStation
Apple тестирует 200-мегапиксельный модуль для следующих ...
Snapdragon 8 Elite Gen 6 и 8 Elite Gen 6 Pro — новые фл ...
Apple открывает Siri для работы с различными ИИ-сервиса ...
Как добавить комментарии в макс? (пошаговая инструкция)
Взломали макс – как восстановить мессенджер? (пошаговая ...
Honor 600 и Honor 600 Pro: производитель готовится к ан ...


 Друзья
TexnoMozg
15 июня 2009 16:24
Сообщение #1


Руководитель проекта
  • 85

Репутация: 378
Группа: Администраторы
Сообщений: 13469
Регистрация: 14.04.2009
ICQ:3262504
Реклама
Функции-друзья — это функции, не являющиеся функциями-членами и тем не менее имеющие доступ к защищённым и собственным полям и функциям-членам класса. Они должны быть описаны в теле класса как friend. Например:
class Matrix {
...
friend Matrix Multiply(Matrix m1, Matrix m2);
...
};

Matrix Multiply(Matrix m1, Matrix m2) {
...
}


Здесь функция Multiply может обращаться к любым полям и функциям-членам класса Matrix.

Существуют также классы-друзья. Если класс A — друг класса B, то все его функции-члены могут обращаться к любым полям и функциям членам класса B. Например:
class Matrix {
...
friend class Vector;
...
};


Однако в С++ не действует правило «друг моего друга — мой друг».

По стандарту C++03 вложенный класс не имеет прав доступа к закрытым членам объемлющего класса и не может быть объявлен его другом (последнее следует из определения термина друг как нечлена класса). Тем не менее, многие широко распространённые компиляторы нарушают оба эти правила (по всей видимости, ввиду совокупной странности этих правил).

--------------------

*´¨)
¸.•´¸.•*´¨) ¸.•*¨)
(¸.•´ (¸.•` ¤ TexnoMozg.
Перейти в начало страницы
 
« · C++ · »
 Информация
Нужно зарегистрироваться, чтобы отвечать на форуме, а сейчас Вы, как Гости


  Сейчас: 19 апреля 2026 08:43