Бярне Строуструп разработва C++ през 1983 г. в Лабораториите Бел като разширение на езика C - езикът е базиран на C, но в него са добавени редица допълнителни възможности и са направени няколко промени. Основната разлика между C и C++ е, че C++ съдържа вградена в езика поддръжка на обектно-ориентирано програмиране. В C++ са добавени класове, множествено наследяване, виртуални функции, overloading, шаблони (templates), обработка на изключения (exceptions) и вградени оператори за работа с динамична памет. Езиковият стандарт на C++ е ратифициран през 1998 като ISO/IEC 14882:1998, през 2003 година има преразглеждане на стандарта - ISO/IEC 14882:2003, а текущата му версия е от 2011 - ISO/IEC 14882:2011.
Повечето програми на C могат директно или със съвсем малки модификации да бъдат компилирани с компилатор за езика C++. Поради паралелното си развитие с Turbo Pascal и Object Pascal в посока обектна ориентираност, С++ има общи черти с тях, но съществуват и редица разлики. Поради заимстване на множество концепции от C++, езикът Java има много общи черти със C++.
Една голяма част от приложните програми на много операционни системи, както и някои от самите операционни системи, са написани на този език.
Hello, world!
Една примерна програма "Hello, World!", реализирана на С++, изглежда така:
Код за потвърждение: Избери целия код
#include <iostream>
using namespace std;
int main()
{
cout <<"Hello, World!" << endl;
return 0;
}
Код за потвърждение: Избери целия код
#include <iostream>
#include <string>
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;
}