Язык C++

Язык C++

Объектно-ориентированное программирование

Константы

Поточный ввод-вывод

Указатель void

Функции

Динамическое выделение памяти

Абстрактные типы данных

Сравнение классов и структур

Область видимости класса

Статические члены класса

Ссылки

Конструкторы и деструкторы

Неявный указатель this

Дружественные функции

Перегрузка операций

Наследование

Виртуальные функции

Множественное наследование

Параметрический полиморфизм

Работа с файлами

Аргументы функции main

Обработка исключительных ситуаций


Литература


Язык С++ возник в начале 1980-х годов, когда сотрудник фирмы Bell Labs Бьёрн Страуструп придумал ряд усовершенствований к языку C под собственные нужды. Когда в конце 1970-х годов Страуструп начал работать в Bell Labs над задачами теории очередей, он обнаружил, что попытки применения существующих в то время языков моделирования оказываются неэффективными, а применение высокоэффективных машинных языков слишком сложно из-за их ограниченной выразительности. Так, язык Симула имеет такие возможности, которые были бы очень полезны для разработки объемного программного обеспечения, но работает слишком медленно, а язык BCPL достаточно быстр, но слишком близок к языкам низкого уровня и не подходит для разработки объемного программного обеспечения. Страуструп дополнил язык C возможностями работы с классами и объектами. В результате практические задачи моделирования оказались доступными для решения как с точки зрения времени разработки (благодаря использованию Симула-подобных классов), так и с точки зрения времени вычислений (благодаря быстродействию C).

При создании C++ Бьёрн Страуструп ставил цели:

  • Получить универсальный язык со статическими типами данных, эффективностью и переносимостью языка C.
  • Непосредственно и всесторонне поддерживать множество стилей программирования, в том числе процедурное программирование, абстракцию данных, объектно-ориентированное программирование и обобщённое программирование.
  • Дать программисту свободу выбора, даже если это даст ему возможность выбирать неправильно.
  • Максимально сохранить совместимость с С: любая конструкция, допустимая в обоих языках, должна в каждом из них обозначать одно и то же и приводить к одному и тому же поведению программы.
  • Избегать особенностей, которые зависят от платформы или не являются универсальными.
  • «Не платить за то, что не используется» — неиспользуемые языковые средства не должны приводить к снижению производительности программ.
  • Не требовать сложной среды программирования.

 
Все основные операции, операторы, типы данных языка Си присутствуют в С++. Некоторые из них усовершенствованы и добавлены принципиально новые конструкции, которые и позволяют говорить о С++ как о новом языке, а не просто о новой версии языка

7 комментариев к “Язык C++”

  1. Андрей

    Помогите решить

    В одномерном массиве, состоящем из n действительных элементов, вычислить:
    1) номера элементов, дающих максимальную по модулю разницу с заданным значением t (значение t ввести),
    2) сумму элементов массива, расположенных после первого нулевого элемента.
    3) Превратить массив так, чтобы сначала располагались все элементы, целая часть которых лежит в промежутке [а, b], а затем – все остальные (значения а, b ввести).

    Вот начал, дальше не понимаю как все правильно записать:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    #include <iostream>
    #include <cmath>
    using namespace std;

    int main() {
        int N;
        double* array;

        cout << "Enter the N:";
        cin >> N;

        if (N > 0) {
            array = new double[N];

            for (int i = 0; i < N; i++) {
                cout << "array[" << i << "]=";
                    cin >> array[i];

            }
        }
        else {
            cout << "Wrong N!" << endl;
        }
    }

    1. Елена

      Но тут же только ввод элементов массива!
      Как ввести t, a, b? Это же должно быть понятно!

      1
      fabs(t-a[i])

      поможет найти модуль разности.
      А потом сравнить значение элемента с а и b. Если удовлетворяет, записываем следующим с начала массива, если нет — с конца (если к порядку элементов нет требований)

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

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

Прокрутить вверх