Вопросы к экзамену

Материал из SEWiki
Версия от 14:38, 19 декабря 2017; Linsky (обсуждение | вклад) (Новая страница: «При ответе на любой вопрос необходимо приводить "содержательные" примеры. Например: не к…»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

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

01. Программа, состоящая из нескольких файлов. - заголовочные файлы - компиляция и линковка - утилита make

02. Указатели, массивы, ссылки. Три вида памяти. Работа с кучей на C. - применение указателей и ссылок - арифметика указателей - глобальная/статическая память, стек, куча - malloc/calloc/realloc/free - void*

03. Структуры. Неинтрузивный связный список на C. - неинтрузивная реализация - typedef

04. Структуры. Интрузивный связный список на C. - интрузивная реализация - typedef

05. Функции. Указатели на функции. - как происходит вызов функции - реализация сортировки void sort(void* base, size_t num, size_t size, int (*compar)(const void*,const void*));

06. Обзор стандартной библиотеки C. - string.h (memcpy, memcmp, strcpy, strcmp, strcat, strstr, strchr) - stdlib.h (atoi, strtoll, srand/rand, qsort)

07. Ввод-вывод на C. Текстовые файлы. - FILE, fopen, fclose, r/w, t/b - stdin, stdout, stderr - printf, scanf, fprintf, fscanf, sprintf, sscanf - обработка ошибок, feof, ferror

08. Ввод-вывод на C. Бинарные файлы. - FILE, fopen, fclose, r/w, t/b, буферизация - fread, fwrite, fseek, ftell, fflush - обработка ошибок, feof, ferror

09. Классы и объекты. - зачем нужно ООП? - инкапсуляция: private/public - конструктор (overloading), деструктор - инициализация полей

10. Работа с кучей на C++. - new/delete - cоздание объектов в куче - конструктор копий - оператор присваивания

11. Наследование и полиморфизм. - protected - virtual (overriding) - таблица виртуальных функций - статическое/динамическое связывание

12. Умные указатели. - scoped_ptr - auto_ptr - shared_ptr

13. Перегрузка операторов. - бинарные и унарные - в классе/вне классе - приведение типов

14. Ключевые слова extern, static, inline. - extern у переменных - static у переменных и функций - static у полей и методов - inline у функций

15. Разное - friend - ключевые слова const, enum

16. Элементы проектирования - декомпозиция программы (Model, View) - автотесты

17. Наследование: детали - сортировка и структуры данных C vs ООП - множественное наследование - private/protected наследование