C++
от Уикипедия, свободната енциклопедия
| Парадигма: | хибриден език: обобщено програмиране, обектно ориентиран, процедурен |
|---|---|
| Излиза през: | 1985, последно ревизиран 2003 |
| Разработен от: | Бярне Строуструп |
| Система типове: | статичен, слаба, необезопасена, номинативен |
| Главни реализации: | GNU Compiler Collection, Microsoft Visual C++, Borland C++ Builder, Intel Compiler |
| Диалекти: | ANSI C++ 1998 , ANSI C++ 2003 |
| Повлиян от: | C, Simula, Ada 83, CLU |
| Повлиял: | Ada 95, C#, Java, PHP, D |
| Сайт: | |
С++ (произнася се Си плюс плюс) е неспециализиран език за програмиране от високо ниво. Той е обектно-ориентиран език със статични типове. От 1990-те, C++ е един от най-популярните комерсиални езици за програмиране.
Бярне Строуструп разработва C++ през 1983 г. в лабораториите "Бел" като подобрение към езика C. Подобренията започват с добавянето на класове, а по-късните добавки включват виртуални функции, презареждане на оператори, множествено наследяване, шаблони и обработка на грешки. Езиковият стандарт на C++ е ратифициран през 1998 като ISO/IEC 14882:1998, а текущата му версия е от 2003 година, ISO/IEC 14882:2003. В момента се разработва нова версия на стандарта (известна неофициално като C++0x)
Една голяма част от приложните програми на много операционни системи, както и някои от самите операционни системи, са написани на този език.
Като разширение на езика C, операциите в C++ са надмножество на неговите, т.е. всеки компилатор на C++ трябва да може да разпознава изходен код на C. Поради паралелното си развитие с Turbo Pascal и Object Pascal в посока обектна ориентираност (обектно ориентирани разширения на езика Pascal и предшественици на Delphi), С++ има общи черти с тях, но съществуват и редица разлики. Поради заимстване на множество концепции от C++, езикът Java също има много общи черти.
Съдържание |
[редактиране] Примерен код
Забележка: Частите на примерните програми са оцветени различно, за да се подчертае принадлежността им по смисъл от гледна точка на езика C++. Повечето съвременни редактори на програми поддържат подобно оцветяване.
[редактиране] Hello, world!
Примерната програма "Hello world", реализирана на С++, изглежда така:
#include <iostream> using namespace std; int main() { cout << "Hello World!" << endl; return 0; }
[редактиране] Работа с прости обекти
#include <iostream> using namespace std; //обект реализиращ книга в книжарница class Book { public: double price; int year; string name; void ShowInfo() { cout << "Заглавие: " << name << "\n"; cout << "Цена: " << price << "\n"; cout << "Година на издаване: " << year << "\n"; } }; int main() { Book book; cout << "Въведете заглавие: "; getline(cin, book.name); //прочитаме ред от стандартният вход cout << "Въведете цена: "; cin >> book.price; cout << "Въведете дата на издаване: "; cin >> book.year; book.ShowInfo(); //извеждаме получените данни return 0; }
[редактиране] Философия на езика
В "The Design and Evolution of C++ (1994)", Бярне Строуструп изяснява някои от правилата, според които той е моделирал C++:
- C++ е моделиран като статичен език за общи цели, като запазва ефикасността и преносимостта на C
- C++ е създаден да поддържа множество стилове на програмиране (процедурно програмиране, абстракция на данните, обектно - ориентирано програмиране и обобщено програмиране)
- C++ е създаден да дава избор на програмиста, дори той да е неправилен
- C++ е моделиран като умерен преход от C
- C++ избягва функции, които са платформено-зависими
- C++ е създаден да работи без сложна среда за разработка
Познаването на правилата помага за правилното разбиране на C++. Много повече за езика може да бъде открито в "The Design and Evolution of C++".

