Перейти к содержимому

Язык программирования C++

Язык программирования C++ разработан сотрудником Bell Laboratories компании AT&T Бъерном Страуструпом (Bjarne Stroustrup). Непосредственным предшественником языка C++ является язык C with Classes, созданный тем же автором в 1980 г. Язык C with Classes в свою очередь был создан на основе языков C и Simula. C++ - это в значительной степени надстройка над C. В определенном смысле C++ можно назвать "улучшенным C", который обеспечивает контроль типов, перегрузку функций (переопределение) и ряд других свойств. Но главное состоит в том, что C++ ориентирован на объектное проектирование.

Известны две версии C++: 1.0 и 2.0. В версии 1.0 реализованы основные механизмы объектно-ориентированного программирования, такие, как простое наследование и полиморфизм, контроль типов и переопределение функций. В созданной в 1989 г. версии 2.0 нашли отражение многие дополнительные свойства (например, множественное наследование), полученные из опыта работы и обмена информацией с пользователями языка. В последующих версиях предполагается реализовать обобщенные модули (шаблоны) и обработку исключительных ситуаций.

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

Страуструп утверждает, что "C++ создавался с целью избавить автора и его друзей от необходимости программировать на ассемблере, C или других языках высокого уровня. Основной задачей было создание языка, на котором удобно писать хорошие программы и приятно работать программисту. Язык C++ никогда не проектировался на бумаге. Одновременно выполнялось его проектирование, документирование и реализация". C++ устранил многие недостатки C, добавив механизмы описания классов, контроль типов, переопределение функций, управление свободной памятью, постоянные типы, макроопределения (подставляемые функции), производные классы и виртуальные функции. Ниже приводятся характеристики языка C++.

Абстракции Переменные объектов
Методы объектов
Переменные классов
Методы классов
Да
Да
Да
Да
Ограничение доступа Для переменных

Для методов

Общедоступные,
защищенные,
обособленные
Общедоступные,
защищенные,
обособленные
Модульность Виды модульности Файл (Заголовок-тело)
Иерархия Наследование
Обобщенные блоки
Метаклассы
Множественное
Нет
Нет
Типирование Строгое типирование
Полиморфизм
Да
Да (простой)
Параллельность Многозадачность Да (определяется в классе)
Устойчивость Устойчивость объектов Нет

20 thoughts on “Язык программирования C++

  1. Уведомление: University Update - Iraq - ???? ???????????????? C++

Добавить комментарий

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