Глава 1

Основни елементи
от програмирането на C++



C++ е език за обектно-ориентирано програмиране. Създаден е от Бярн Страуструп от AT&T Bell Laboratories в края на 1985 година. C++ е разширение на езика C в следните три направлнения:
създаване и използване на абстрактни типове данни;
обектно-ориентирано програмиране;
подобрения на конструкции на езика C (производни типове, наследяване, полиморфизъм).
През първите шест месеца след описанието му се появиха над 20 търговски реализации на езика, предназначени за различни компютърни системи. От тогава до сега C++ се разраства чрез добавяне на много нови функции и затова процесът на стандартизацията му продължава и до момента. C++ е пример за език, който с времето расте и се развива. Всеки път, когато потребителите му са забелязвали някакви пропуски или недостатъци, те са го обогатявали със съответните нови възможности.
За разлика от C++, езикът Паскал е създаден планомерно главно за целите на обучението. Проф. Вирт добре е обмислил и доказал езика. Тъй като Паскал е създаден с ясна цел, отделните му компоненти са логически свързани и лесно могат да бъдат комбинирани. Разрастващите се езици, към които принадлежи C++ са доста объркани тъй като хора с различни вкусове правят различни нововъведения. Освен това, заради мобилността на програмите, не е възможно премахването на стари конструкции, даже да съществуват удобни техни подобрения. Така разрастващият се C++ събира в себе си голям брой възможности, които не винаги добре се съвместяват.
Езиците, създадени от компетентни хора, по принцип са лесни за научаване и използване. Разрастващите се езици обаче държат монопола на пазара. Сега C++ е водещия език за програмиране с общо предназначение. Лошото е, че не е много лесен за усвояване, има си своите неудобства и капани. Но той има и огромни приложения – от програми на ниско, почти машинно ниво, до програми от най-висока степен на абстракция.
Целта на настоящия курс по програмиране е не да ви научи на всички възможности на C++, а на изкуството и науката програмиране.
При началното запознаване с езика, възникват два естествени въпроса:
Какво е програма на C++ и как се пише тя?
Как се изпълнява програма на C++?
Ще отговорим на тези въпроси чрез примеp за програма на C++, след което ще дадем някои дефиниции и основни означения.