Размер шрифта:
Примеры использования дружественных функций и дружественных классов в языке программирования C++
Play

Примеры использования дружественных функций и дружественных классов в языке программирования C++

В статье рассматривается несколько примеров, демонстрирующих основные принципы дружественности, принятые в языке программирования C++. Приведенные реализации могут рассматриваться при изучении объектно-ориентированного программирования и будут интересны как школьникам, так и студентам.

Ключевые слова

Текст научной работы

Язык программирования C++ широко используется для разработки программного обеспечения, и является одним из самых популярных языков программирования. Область его применения включает создание операционных систем, разработку прикладных программ, написание драйверов устройств, а также развлекательных приложений. В настоящее время существует множество реализаций языка C++, как коммерческих, так и бесплатных (например, Microsoft Visual C++ 2005-2013).

Особое внимание при изучении программирования следует уделять объектно-ориентированному программированию [1], при этом первоначальное ознакомление с ним можно проводить, в том числе, и на основе языка Pascal [3]. Однако, по мнению автора, более предпочтительно все-таки использование языка программирования C++, в котором объектовый тип чаще называют классом. Классы позволяют моделировать объекты, имеющие атрибуты (данные-элементы, представляемые в виде полей) и варианты поведения или операции (функции-элементы, функции-члены или методы класса).

В данной статье автор предлагает несколько примеров, посвященных изучению отношения дружественности в языке программирования C++ [5]. Предполагается, что учащиеся уже имеют базовые представления о языке программирования C++ и о разработке классов на его основе.

Известно, что функции, объявленные как дружественные некоторому классу, имеют доступ к закрытым элементам private (и protected) данного класса и используются для повышения производительности; они определяются вне области действия класса. Так, например, дружественную функцию целесообразно использовать в случае организации взаимодействия нескольких объектов разных классов, когда обеспечивающая такое взаимодействие функция должна иметь доступ к закрытым полям нескольких объектов. При этом функция или класс в целом могут быть объявлены другом другого класса. Объявление дружественности не зависит от спецификаторов доступа, и обычно дружественные функции объявляются в начале тела класса.

Для объявления функции другом класса перед ее прототипом в описании класса указывают ключевое слово friend. Например, чтобы объявить класс Class_2 другом класса Class_1, нужно в определении класса Class_1 записать объявление в форме: friend Class_2.

Приведем пример использования дружественной функции двух классов – класса «Правильный треугольник» и класса «Окружность», которая проверяет, можно ли поместить заданную окружность внутри заданного треугольника.

Читайте также

  1. Дмитриев В.Л.
  1. Дмитриев В.Л.
  1. Дмитриев В.Л.
  1. Алексеева К.В.
  2. Дмитриев В.Л.
  1. Дмитриев В.Л.
  2. Соснина У.Ю.

Список литературы

  1. Бабушкина И.А., Окулов С.М. Практикум по объектно-ориентированному программированию. – М.: "БИНОМ. Лаборатория знаний". 2012. – 371 с.
  2. Дмитриев В.Л., Ахмадеева Р.З. Развитие конструктивного мышления при изучении программирования // Информатика и образование. 2009. № 2. – С. 69-73.
  3. Дмитриев В.Л. Развитие представлений об объектном программировании на примере разработки объектов в среде программирования Turbo Pascal // Информатика в школе. 2014. № 2 (95). – С. 54-59.
  4. Дмитриев В.Л. Теория и практика решения задач по программированию. Ч.1. Уфа: РИЦ БашГУ. 2007. – 264 с.
  5. Дмитриев В.Л. Теория и практика программирования на С++. – Стерлитамак: РИО СФ БашГУ. 2013. – 315 с.
  6. Дмитриев В.Л. Тестирование в игровой форме как способ проверки усвоения учебного материала // Информатика в школе. 2012. №10 (83). – С. 41-43.
  7. Дмитриев В.Л. Компьютерная программа для проведения тестирования с поддержкой произвольного расположения материалов теста // Информатика и образование. 2014. №2 (251). – С. 74-77.
  8. Окулов С.М. Программирование в алгоритмах. – М.: БИНОМ. Лаборатория знаний. 2002. – 341 с.

Цитировать

Дмитриев, В.Л. Примеры использования дружественных функций и дружественных классов в языке программирования C++ / В.Л. Дмитриев. — Текст : электронный // NovaInfo, 2014. — № 29. — URL: https://novainfo.ru/article/2849 (дата обращения: 06.04.2022).

Поделиться

Электронное периодическое издание зарегистрировано в Федеральной службе по надзору в сфере связи, информационных технологий и массовых коммуникаций (Роскомнадзор), свидетельство о регистрации СМИ — ЭЛ № ФС77-41429 от 23.07.2010 г.

📎📎📎📎📎📎📎📎📎📎