ВВЕДЕНИЕ. Кафедра численных методов и программирования
МЕХАНИКО-МАТЕМАТИЧЕСКИЙ ФАКУЛЬТЕТ
Кафедра численных методов и программирования
И. Н. Блинов, В. С. Романчик
ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ
ПРОГРАММИРОВАНИЕ НА С++
Учебно-методическое пособие
по курсу «МЕТОДЫ ПРОГРАММИРОВАНИЯ»
Для студентов механико-математического факультета
МИНСК
БГУ
УДК 681.142.2(072)
ББК 32.973.26-018.1я73
Б69
Р е ц е н з е н т ы
кандидат физико-математических наук, доцент И.М.Галкин;
кандидат физико-математических наук, доцент C.В.Суздаль.
Рекомендовано Ученым советом механико-математического факультета
29 марта 2005 г., протокол № 5
Блинов И. Н., Романчик В. С.
Объектно-ориентированное программирование на С++
В пособии рассматриваются вопросы, относящиеся к использованию технологии объектно-ориентированного программирования на языке C++. Описание методологии построения и использования классов сопровождается многочисленными примерами. Предназначено для студентов 2-го курса механико-математического факультета, изучающих курс «Методы программирования».
УДК 681.142.2(072)
ББК 32.973.26-018.1я73
ã Блинов И.Н., Романчик В.С., 2005
ã БГУ, 2005
: учебно-методич. Пособие по курсу «Методы программирования» для студ. механико-математич. фак./ И.Н.Блинов, В.С.Романчик.-Мн.:БГУ, 2005.-57с.
ВВЕДЕНИЕ
Язык С++ был спроектирован и разработан в фирме Bell Laboratories (США) в 1983 г. как расширение языка С. Оператор инкрементирования “++” в действительности означает переносимость С-программ в среду С++. Разработчик языка Б.Страуструп кроме языка C называет еще один источник С++ – язык Simula67. Из него позаимствовано понятие “класса”, соответствующего введенному пользователем типу, для которого обеспечиваются набор данных и операции над данными. Классы обеспечивают сокрытие данных, инициализацию данных, неявное преобразование типов, механизмы перегрузки операций. В настоящее время классы рассматриваются как реализация парадигмы объектно-ориентированного программирования (ООП), представляющей собой технологию построения программ в виде множества взаимодействующих объектов. Структура и поведение этих объектов описана иерархическими классами – абстрактными типами данных с открытым интерфейсом и скрытой внутренней реализацией. В классах реализованы такие базовые принципы ООП как:
1) абстракция данных;
2) наследование – в производных классах могут быть наследованы члены базового класса;
3) инкапсуляция – в классах объединяются данные и методы (функции) для работы с этими данными, и только через методы возможен доступ к сокрытым данным класса;
4) полиморфизм – возможность использования одних и тех же методов при работе с различными объектами базового и порожденных классов.
Существует несколько реализаций системы, поддерживающих стандарт С++, из которых можно выделить реализации Visual C++ (Microsoft) и Builder C++ (Inprise). Отличия относятся в основном к используемым библиотекам классов и средам разработки. В действительности в С++ программах можно использовать библиотеки языка С, библиотеки классов С++, библиотеки визуальных классов VCL (Builder C++), библиотеку MFC (Visual C++ и Builder C++)
Язык С++ является родоначальником множества объектно-ориентированных языков, таких как Java, C#, PHP и др.
Данное пособие предназначено для начинающих изучение технологии ООП на основе С++.