Тема 9. Динамические данные

1. Что такое динамические данные?

2. Каким образом выделяется память под динамические данные?

3. Перечислите основные особенности динамической памяти.

4. Что возвращает оператор newпосле выделения участка динамической

памяти?

5. Каково назначение оператора delete?

6. Перечислите основные операции с динамическими структурами данных.

7. В чем особенности однонаправленных и двунаправленных линейных

списков?

8. Как осуществляется выборка элементов данных в стеке?

9. Опишите организацию движения данных в очереди.

10. Укажите преимущества динамической структуры данных в виде

бинарного дерева по сравнению со списками.

Тема 10. Файлы и потоки

1. Как различаются файлы по способу доступа?

2. Перечислите основные классы для работы с файлами из стандартной

библиотеки.

3. С помощью какого оператора осуществляется открытие потока и

связывание его с файлом?

4. С помощью каких операторов осуществляется вывод данных из файла?

5. С помощью каких операторов осуществляется ввод данных в файл?

6. Что такое манипуляторы потоков?

7. Какую операцию выполняет манипулятор потока setw?

8. Какой манипулятор потока осуществляет форматирование

действительных чисел?

9. Каково назначение флагов формата?

Модуль 4. Объектно – ориентированное программирование (ООП)

Тема11. Элементы ООП на языке С++

1. Перечислите основные свойства объектно–ориентированного

программирования (ООП).

2. Раскройте смысл понятия – инкапсуляция класса.

3. Какую роль в ООП играет наследование?

4. Что такое полиморфизм?

 

Тема 12. Основные сведения о классах в С++

1. Какое ключевое слово начинает определение класса?

2. Что понимается под элементами класса?

3. С помощью какой операции осуществляется доступ к элементам класса в

сочетании с объектом класса?

4. С помощью какой операции осуществляется доступ к элементам класса в

сочетании с указателем на объект класса?

5. Какая функция используется для присваивания значений закрытым

данным - элементам класса?

6. Какова разница между открытыми ( public) и закрытыми (private)

данными – членами?

7. Могут ли функции – члены быть закрытыми?

8. Могут ли переменные – члены быть закрытыми?

9. Нужно ли объявление класса завершать точкой с запятой?

10. Какая функция вызывается для выполнения инициализации класса?

11. Какой конструктор используется по умолчанию?

12. Каково назначение деструктора?

13. Когда вызывается конструктор копирования?

14. Для каких целей используются дружественные функции?

Тема 13. Перегрузка операций

1. Какие операции в языке С++ не могут быть перегружены?

2. Перечислите способы определения функции – операции.

3. Приведите структуру построения функции – операции.

4. Чем отличается перегрузка унарных и бинарных операций?

5. Могут ли быть перегружены операции инкремента и декремента в

префиксной форме?

Тема 14. Наследование

1. Какие возможности предоставляет наследование при разработке

программного обеспечения?

2. Дайте определение базового класса.

3. Может ли производный класс иметь доступ к закрытым элементам

базового класса?

4. Как осуществляется доступ к элементам базовых классов?

5. Как определяется простое наследование?

6. Что содержит таблица виртуальных методов?

7. В чем состоят особенности вызова виртуального метода?

8. Дайте определение абстрактного класса.

9. Когда используется множественное наследование?

Тема 15. Шаблоны

 

1. Укажите основное назначение шаблонов.

2. C какого ключевого слова должно начинаться описание шаблона

функции?

3. Чем отличается описание шаблона класса от традиционного описания

класса?

4. Какое ключевое слово должно стоять перед каждым формальным

параметром типа в описании шаблона функции?

5. Перечислите основные правила описания шаблонов.

6. В чем заключаются преимущества шаблонов перед макросами?

7. Какой механизм будет использоваться компилятором при вызове

функций, если они образованы из одного шаблона функции и имеют

одинаковые имена?