Войти на сайтРегистрацияЗабыли пароль?
Android
Меню
Топ-игры
The Dark Knight Rises для Android
Каталог
Новинки
anxieest — Слив
Машера — слив с зубной щеткой (телеграм
Машера — слив с пультом (телеграм кружоч
Слив Машеры с Чупа Чупсом — тг кружочки
Слив Машеры с огурцом — слив телеграм кр
Слив Даши Дошик детский костюм
Парадокси — Слив Par4d0xy
Популярные статьи
Обзор ОНИКС БУКС Галилео 3: ридер с большими возможност ...
Как добавить трек в профиль тг (пошаговая инструкция) - ...
Как добавить тгк в профиль тг (пошаговая инструкция) – ...
OSCAL SPIDER 10 – защищенный планшет с ИИ выходит в про ...
windivert64 – как удалить (пошаговая инструкция) – прос ...
OnePlus 15 готовится выйти на международный рынок
Realme GT 8 Pro: флагман с уникальным дизайном блока ка ...
Xiaomi 15T и 15T Pro получат увеличенный дисплей и внуш ...
Линейка Xiaomi 17 показала рекордные продажи
OSCAL SPIDER 10 – мощный защищенный планшет, в котором ...


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


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

Репутация: 378
Группа: Администраторы
Сообщений: 13453
Регистрация: 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 октября 2025 20:40