Друзья

Дружественные классы в C++ означают, что все  методы одного класса, который объявлен другом, автоматически становятся дружественными методам другого класса, который инициирует дружбу. Это означает, что такие методы получают доступ ко всем членам другого класса. Объявлять классы дружественными нужно лишь в том случае, если всем методам необходимо иметь доступ к методам другого класса. В ином случае лучше объявить отдельные функции дружественными для большей защиты и сохранности и данных от случайных изменений. Рассмотрим пример:

Сначала объявляется класс move для компилятора, иначе программа выдавала бы ошибку. После этого в классе child объявляем move другом. Сам класс child хранит имя и возраст. После этого работаем с классом move, добавляя ему метод grow. Все, простейшая дружественная связь создана. Теперь при вызове метода grow класса move можно работать с age и name – переменными класса child. Так же в примере отдельно объявлена дружественная функция sameage, которая использует его частную переменную age.

Не нашли ответ? Не беда, спросите в комментариях.

Ваш e-mail не будет опубликован. Обязательные поля помечены *