Основы и методология программирования 2016/2017/166-1 — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Add seminar 3.11)
 
(не показана одна промежуточная версия этого же участника)
Строка 96: Строка 96:
 
Материал и задачи: [https://github.com/KathrinBeaver/HSE_CPP_Seminars/blob/master/seminar9/%D0%A1%D0%B5%D0%BC%D0%B8%D0%BD%D0%B0%D1%80_3_09.pdf 3_09.pdf]
 
Материал и задачи: [https://github.com/KathrinBeaver/HSE_CPP_Seminars/blob/master/seminar9/%D0%A1%D0%B5%D0%BC%D0%B8%D0%BD%D0%B0%D1%80_3_09.pdf 3_09.pdf]
 
Код: [https://github.com/KathrinBeaver/HSE_CPP_Seminars/tree/master/seminar9 seminar 9]
 
Код: [https://github.com/KathrinBeaver/HSE_CPP_Seminars/tree/master/seminar9 seminar 9]
 +
 +
=== Семинар 3.10 (16.03.2017) ===
 +
 +
* Повторение классов, наследования, поведения объектов, времени жизни, виртуальных функций и т.д.
 +
* Директивы препроцессора
 +
* Пример бинарного дерева
 +
 +
Материал и задачи: [https://github.com/KathrinBeaver/HSE_CPP_Seminars/blob/master/seminar10/%D0%A1%D0%B5%D0%BC%D0%B8%D0%BD%D0%B0%D1%80_3_10.pdf 3_10.pdf]
 +
Код: [https://github.com/KathrinBeaver/HSE_CPP_Seminars/tree/master/seminar10 seminar 10]
 +
 +
=== Семинар 3.11 (23.03.2017) ===
 +
 +
* Разбор контрольной работы
 +
* operator new, operator delete
 +
* Преобразование типов
 +
 +
Материал и задачи: [https://github.com/KathrinBeaver/HSE_CPP_Seminars/blob/master/seminar11/%D0%A1%D0%B5%D0%BC%D0%B8%D0%BD%D0%B0%D1%80_3_11.pdf 3_11.pdf]
 +
Код: [https://github.com/KathrinBeaver/HSE_CPP_Seminars/tree/master/seminar11 seminar 11]

Текущая версия на 14:12, 23 марта 2017

Общая информация

Группа 166-1. 3 модуль.

Репозиторий с кодом и материалом с семинаров: https://github.com/KathrinBeaver/HSE_CPP_Seminars

Преподаватель: Полицына Екатерина Валерьевна

Почта: epolitsyna@hse.ru, kathrin.beaver@mail.ru

Семинары

Семинар 3.1 (12.01.2017)

Классы:

  • конструктор, конструктор копирования, деструкторы;
  • области действия и видимости членов класса;
  • создание и копирование объектов, время жизни объектов;
  • перегрузка операторов;
  • const.

Материал: 3_01.pdf Код: seminar 1

Семинар 3.2 (19.01.2017)

Исключения:

  • генерация исключений;
  • перехват исключений;
  • виды исключений;
  • деление на ноль целых чисел и чисел с плавающей запятой;
  • исключения к конструкторах и деструкторах.

Материал: 3_02.pdf Код: seminar 2

Семинар 3.3 (26.01.2017)

Ссылки и указатели:

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

Материал: 3_03.pdf Код: seminar 3

Семинар 3.4 (02.02.2017)

  • RAII;
  • задачи на null-terminated string

Задачи: 3_04.pdf Код: seminar 4

Семинар 3.5 (10.02.2017)

  • Умные указатели
  • unique_ptr
  • shared_ptr
  • weak_ptr

Код: seminar 5

Семинар 3.6 (17.02.2017)

  • Потоки чтения и записи в файл
  • Принципы ООП
  • Наследование
  • Полиморфизм

Материал и задачи: 3_06.pdf Код: seminar 6

Семинар 3.7 (23.02.2017)

Выходной. С праздником!

Семинар 3.8 (02.03.2017)

  • Виртуальные функции
  • Виртуальный деструктор
  • Абстрактные классы
  • Агрегация и композиция

Материал и задачи: 3_08.pdf Код: seminar 8

Семинар 3.9 (09.03.2017)

  • Повторение наследования, поведения объектов, виртуальных функций, private и protected конструктор и деструктор
  • Singleton
  • placement new
  • Задачи про менеджер памяти, агрегацию, композицию

Материал и задачи: 3_09.pdf Код: seminar 9

Семинар 3.10 (16.03.2017)

  • Повторение классов, наследования, поведения объектов, времени жизни, виртуальных функций и т.д.
  • Директивы препроцессора
  • Пример бинарного дерева

Материал и задачи: 3_10.pdf Код: seminar 10

Семинар 3.11 (23.03.2017)

  • Разбор контрольной работы
  • operator new, operator delete
  • Преобразование типов

Материал и задачи: 3_11.pdf Код: seminar 11