C++ 1MIT осень 1 2019 — билеты

Материал из CSC Wiki
Версия от 09:32, 20 декабря 2019; Linsky (обсуждение | вклад) (Новая страница: « ПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ БИЛЕТОВ К ЭКЗАМЕНУ. При ответе на любой вопрос необходимо прив…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

ПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ БИЛЕТОВ К ЭКЗАМЕНУ.


При ответе на любой вопрос необходимо приводить "содержательные" примеры. Например: не класс Foo с методов bar, а класс Matrix с методом add.

  1. Программа, состоящая из нескольких файлов.
    • заголовочные файлы
    • компиляция и линковка
    • утилита make
  2. Указатели, массивы, ссылки.
    • применение указателей и ссылок
    • арифметика указателей
  3. Три вида памяти. Работа с кучей на C.
    • глобальная/статическая память, стек, куча
    • malloc/calloc/realloc/free
    • void*
  4. Структуры. Неинтрузивный связный список на C.
    • неинтрузивная реализация
    • typedef
  5. Структуры. Интрузивный связный список на C.
    • интрузивная реализация
    • typedef
  6. Функции. Указатели на функции.
    • как происходит вызов функции
    • реализация сортировки
    • void sort(void* base, size_t num, size_t size, int (*compar)(const void*,const void*));
  7. Обзор стандартной библиотеки C.
    • string.h (memcpy, memcmp, strcpy, strcmp, strcat, strstr, strchr, strtok)
    • stdlib.h (atoi, strtoll, srand/rand, qsort)
  8. Ввод-вывод на C. Текстовые файлы.
    • FILE, fopen, fclose, r/w, t/b
    • stdin, stdout, stderr
    • printf, scanf, fprintf, fscanf, sprintf, sscanf, fgets
    • обработка ошибок, feof, ferror
  9. Ввод/вывод на C. Бинарные файлы.
    • FILE, fopen, fclose, r/w, t/b, буферизация
    • fread, fwrite, fseek, ftell, fflush
    • обработка ошибок, feof, ferror
  10. Классы и объекты.
    • инкапсуляция: private/public
    • конструктор (overloading), деструктор
    • инициализация полей (в том числе C++11)
    • C++11: =default, constructor chaining
  11. Работа с кучей на C++.
    • new/delete
    • cоздание объектов в куче
    • конструктор копий
    • оператор присваивания
    • C++11: =delete
  12. Наследование и полиморфизм.
    • protected
    • virtual (overriding)
    • таблица виртуальных функций
    • статическое/динамическое связывание
  13. Умные указатели.
    • scoped_ptr
    • auto_ptr
    • shared_ptr
  14. Перегрузка операторов.
    • бинарные и унарные
    • в классе/вне классе
    • приведение типов
  15. Ключевые слова extern, static, inline.
    • extern у переменных
    • static у переменных и функций
    • static у полей и методов
    • inline у функций
  16. Разное
    • ключевое слово const (С/C++)
    • перегрузка функций
    • параметры функций по умолчанию
  17. Наследование: детали
    • сортировка и структуры данных C vs ООП
    • private/protected наследование
    • C+11: final, override