Бьерн Страуструп. Язык программирования С++ Второе дополненное издание



Pdf көрінісі
бет27/256
Дата11.07.2022
өлшемі2,87 Mb.
#37591
1   ...   23   24   25   26   27   28   29   30   ...   256
ГЛАВА 1. КРАТКИЙ ОБЗОР С++ 
"Начнем с того, что вздернем всех этих законников, языковедов". 
 ("Король Генрих VI", действие II) 
В этой главе содержится краткий обзор основных концепций и конструкций языка С++. Он служит для 
беглого знакомства с языком. Подробное описание возможностей языка и методов программирования 
на нем дается в следующих главах. Разговор ведется в основном вокруг абстракции данных и объектно-
ориентированного программирования, но перечисляются и основные возможности процедурного 
программирования. 
1.1 ВВЕДЕНИЕ 
Язык программирования С++ задумывался как язык, который будет: 
• лучше языка С; 
• поддерживать абстракцию данных; 
• поддерживать объектно-ориентированное программирование. 
В этой главе объясняется смысл этих фраз без подробного описания конструкций языка. 
$$1.2 содержит неформальное описание различий "процедурного", "модульного" и "объектно-
ориентированного" программирования. Приведены конструкции языка, которые существенны для 
каждого из перечисленных стилей программирования. Свойственный С стиль программирования 
обсуждается в разделах "процедурное программирование и "модульное программирование". Язык С++ - 
"лучший вариант С". Он лучше поддерживает такой стиль программирования, чем сам С, причем это 
делается без потери какой-либо общности или эффективности по сравнению с С. В то же время язык C 
является подмножеством С++. Абстракция данных и объектно-ориентированное программирование 
рассматриваются как "поддержка абстракции данных" и "поддержка объектно- ориентированного 
программирования". Первая базируется на возможности определять новые типы и работать с ними, а 
вторая – на возможности задавать иерархию типов. 
$$1.3 содержит описание основных конструкций для процедурного и модульного программирования. В 
частности, определяются функции, указатели, циклы, ввод-вывод и понятие программы как 
совокупности раздельно транслируемых модулей. Подробно эти возможности описаны в главах 2, 3 и 4. 
$$1.4 содержит описание средств, предназначенных для эффективной реализации абстракции данных. 
В частности, определяются классы, простейший механизм контроля доступа, конструкторы и 
деструкторы, перегрузка операций, преобразования пользовательских типов, обработка особых 
ситуаций и шаблоны типов. Подробно эти возможности описаны в главах 5, 7, 8 и 9. 
$$1.5 содержит описание средств поддержки объектно-ориентированного программирования. В 
частности, определяются производные классы и виртуальные функции, обсуждаются некоторые 
вопросы реализации. Все это подробно изложено в главе 6. 
$$1.6 содержит описание определенных ограничений на пути совершенствования как языков 
программирования общего назначения вообще, так и С++ в частности. Эти ограничения связаны с 
эффективностью, с противоречащими друг другу требованиями разных областей приложения, 
проблемами обучения и необходимостью трансляции и выполнения программ в старых системах. 
Если какой-то раздел окажется для вас непонятным, настоятельно советуем прочитать 
соответствующие главы, а затем, ознакомившись с подробным описанием основных конструкций языка, 
вернуться к этой главе. Она нужна для того, чтобы можно было составить общее представление о 
языке. В ней недостаточно сведений, чтобы немедленно начать программировать. 


Достарыңызбен бөлісу:
1   ...   23   24   25   26   27   28   29   30   ...   256




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет