Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Bilety_Proga.docx
Скачиваний:
3
Добавлен:
25.09.2019
Размер:
37.35 Кб
Скачать
  1. Классы. Инициализация и уничтожение.

Объект создаётся автоматически, там где начинается область его видимости и уничтожается, когда область видимости заканчивается. Если без наследования, то выделяется память на этот класс. Перед вызовом конструктора вызываются конструкторы всех полей. Далее вызываются все остальные конструкторы. Поля инициализируются в том же порядке, в котором описаны. Уничтожение происходит точно по такой же схеме.

  1. Исключения.

Исключение – это возникновение непредвиденного или аварийного события. Исключения позволяют логически разделить вычислительный процесс на 2 части – обнаружение аварийной ситуации и её обработка.

Синтаксис:

try{} – обозначение контролируемого блока – кода, в котором может генерироваться исключение.

throw[выражение]; - генерация исключения. Тип выражения определяет тип исключения.

catch (тип имя | тип | …) {} обработчик исключений, находится непосредственно после try.

  1. Шаблоны.

Шаблоны — средство языка C++, предназначенное для кодирования обобщённых алгоритмов, без привязки к некоторым параметрам (например, типам данных, размерам буферов, значениям по умолчанию).

В C++ возможно создание шаблонов функций и классов.

Шаблоны позволяют создавать параметризованные классы и функции. Параметром может быть любой тип или значение одного из допустимых типов (целое число, enum, указатель на любой объект с глобально доступным именем). Шаблон функции начинается с ключевого слова template, за которым в угловых скобках следует список параметров. Затем следует объявление функции:

template< class T >

Вместо T допустим любой другой идентификатор.

  1. Стандартная библиотека, общие сведения.

Стандартная библиотека С++ содержит функции, макросы, типы и константы унаследованные из языка С, а также классы и другие средства С++.

Классы:

  • Потоковые классы – предназначены для управления потоками данных между оперативной памятью и внешними устройствами.

  • Строковый класс – предназначен для работы со строками.

  • Контейнерные классы – реализуют наиболее распространённые структуры хранения данных.

  • Итераторы – предназначены для унифицированного доступа к элементам классов.

  • Математические классы – поддерживают обработку массивов с плавающей точкой и работу с комплексными числами.

  • Диагностические классы – обеспечивают динамическую идентификацию типов и объектно-ориентированную обработку ошибок.

  • Остальные классы – распределение памяти, адаптацию к локальным особенностям и т.д.

  1. Стандартная библиотека: контейнеры.

Контейнерные классы – это классы, предназначенные для хранения данных, организованных определённым образом.

  • Векторы ( <vector> ) - есть возможность увеличить количество элементов.

  • Двусторонние очереди ( <deque> ) – последовательный контейнер, который поддерживает произвольный доступ к элементам и обеспечивает вставку и удаление из обоих концов за постоянное время.

  • Списки ( <list> ) – не представляет произвольного доступа к своим элементам, зато вставка и удаление выполняется за постоянное время.

  • Стеки ( <stack> ) – возможно только 2 операции, добавление элемента в вершину и выборка из вершины.

  • Очереди ( <quenue> ) – две операции: добавление элемента в конец и выборка из начала.

  • Очереди с приоритетом ( <priority_quenue> ) – каждому элементу соответствует приоритет, определяющий порядок выборки из очереди.

  • Словари ( <map> ) – доступ к элементам через уникальные ключи, элементы хранятся в отсортированном виде.

  • Множества ( <set> ) – ассоциативный контейнер, содержащий только значения ключей. Ключи должны быть уникальны.

  • Битовые множества ( <bitset> ) – шаблон для представления и обработки длинных последовательностей битов. Фактичекски это битовый массив, для которого операции произвольного доступа, изменения отдельных битов и всего массива.

Стандартная библиотека: потоки ввода-вывода. <fstream>

Реализует инструменты для файлового ввода и вывода. Смотри fstream.

fstream (сокращение от «FileStream») — заголовочный файл из стандартной библиотеки C++, включающий набор классов, методов и функций, которые предоставляют интерфейс для чтения/записи данных из/в файл. Для манипуляции с данными файлов используются объекты, называемые потоками («stream»).

<ios>

Реализует несколько типов и функций, составляющих основу операций с iostreams.

<iostream>

Реализует основы ввода и вывода языка C++. Смотри iostream.

iostream — заголовочный файл с классами, функциями и переменными для организации ввода-вывода в языке программирования C++. Он включён в стандартную библиотеку C++

#include<iostream> // вСи: #include <stdio.h>

usingnamespacestd;

int main()

{

cout<<"Hello, world!"<<endl;// вСи: printf("Hello, World!\n");

}

Созданииепотоков:

ofstreamou(“output.txt”);

ifstream in("input.txt");

in>> n;

ou<< n;

ou.close();

in.close();

файловыйввод-вывод:

 freopen("input.txt","r",stdin);

 freopen("output.txt","w",stdout);

<iosfwd>

Реализует предварительные объявления нескольких шаблонов классов, связанных с вводом-выводом.

<iomanip>

Реализует инструменты для работы с форматированием вывода, например базу, используемую при форматировании целых и точных значений чисел с плавающей запятой.

<istream>

Реализует шаблон класса std::istream и других необходимых классов для ввода.

<ostream>

Реализует шаблон класса std::ostream и других необходимых классов для вывода.

<sstream>

Реализует шаблон класса std::sstream и других необходимых классов для работы со строками.

<streambuf>

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]