Общая информация
АИШ 10 лет Бронирование О программе Схема обучения Программа обучения Стоимость обучения Преподаватели Новости и успехи Дни открытых дверей Работы слушателей О филиале АИШ Летняя школа
Обучающимся
Расписание занятий Списки групп и оценки Поиск школьника
Внеучебная жизнь
Олимпиады Политех-квест КРОСС И3 Курс для родителей Small Basic - клуб Битва роботов
Обратная связь
Форум Как нас найти Контакты

Дни открытых дверей Академии информатики для школьников — 10 января (Среда) в 19:00 Аудитория №148
17 января,

Печать

Объектно-ориентированное программирование на С++ с иcпользованием Qt

( Объектно-ориентированное программирование на С++ с иcпользованием Qt )

Продолжительность обучения: 19 ак.ч. лекции очно + 29 ак.ч. практики очно + 24 ак.ч. самостоятельно
График обучения: 72 академических часа

Преподаватели

Аннотация

Курс «Объектно-ориентированное программирование на С++ с использованием Qt» можно разделить на две части:

  • Первая часть включает рассмотрение основных концепций объектно-ориентированного программирования.
  • Вторая часть курса является введением в прикладное программирование GUI приложений с использованием уже готовых классов разработки Qt.

Почему Qt? Безусловно, это широкий спектр его возможностей, совместимость классов, его документация, производительность C++ и т.д. Но самое важное: Qt пользуется успехом, потому что нравится программистам.

Qt – это полностью объектно-ориентированная библиотека, предоставляющая поддержку двух- и трёхмерной графики, классы для работы с сетью, поддержку работы с XML документами, поддержку стандартных протоколов ввода-вывода, классы для многопоточного программирования, поддержку программирования баз данных и многое другое.

Знания и умения, полученные в результате обучения

В результате обучения учащиеся:

  • получат навыки разработки пользовательских типов данных (классов) приложений с использованием основных концепций ООП;
  • овладеют технологией разработки оконных приложений с использованием библиотеки Qt;
  • получат навыки работы с основными инструментами средств разработки Visual Studio и QtСreator.

Требования к начальному уровню знаний

Курс предполагает знакомство с объектно-ориентированными возможностями языка С++, поэтому для успешного освоения материала слушатель должен быть знаком с базовыми понятиями и процедурными возможностями С++.

Слушатели АИШ, успешно (с оценкой не ниже «Хорошо») закончившие курс «Процедурное программирование на С/С++».

Программа курса

Занятие 1. Понятия о классах

  • Содержание семестра, организация занятий
  • Типы данных в языке С++ (повторение)
  • Понятие ссылки в С++
  • Способы передачи параметров в функцию (повторение)
  • Современные модели (парадигмы) программирования
  • Понятия класса, объекта C++
  • Спецификаторы доступа. Инкапсуляция
  • Встроенные (inline) методы
  • Практическая работа – создание и использование простого класса

Занятие 2. Конструкторы и деструкторы объектов

  • Конструкторы по умолчанию
  • Конструкторы с параметрами
  • Перегрузка конструкторов
  • Деструктор объекта
  • Практическая работа – разработка класса содержащего конструкторы и методы для доступа к полям класса

Занятие 3. Ключевые слова const и static. Класс string

  • Статические переменные и методы класса
  • Указатель на объект класса. Массив указателей на объект класса
  • Ключевое слово сonst и классы
  • Конструктор копирования
  • Класс string, как пример класса для работы со строками
  • Практическая работа – работа со статическими переменными класса и строками

Занятие 4. Наследование

  • Понятие наследования
  • Спецификаторы наследования
  • Специфика вызова конструкторов при наследовании
  • Перегрузка функций при наследовании
  • Практическая работа – разработка иерархии классов

Занятие 5. Полиморфизм и виртуальные функции

  • Понятие полиморфизма
  • Ключевое слово virtual
  • Виртуальный деструктор
  • Практическая работа  - исследование свойств полиморфизма в С++

Занятие 6. Встроенные объекты

  • Понятие встроенного объекта
  • Список инициализации конструктора
  • Конструкторы встроенного объекта
  • Абстрактные базовые классы
  • Практическая работа – создание классов со  встроенными объектами

Занятие 7. Введение в Qt. Графические примитивы

  • IDE Qt Creator
  • Оконная система. Класс QWidget.
  • Инструменты для рисования
  • Таймеры
  • Практическая работа – использование классов в оконном приложении

Занятие 8. События Qt

  • Событийный механизм в Qt. Типы событий.
  • Методы обработки событий
  • Практическая работа – разработка приложения с использованием событийного механизма Qt

Занятие 9. Сигналы и слоты Qt

  • Механизм сигналов и слотов
  • Макрос Q_OBJECT
  • Соединение между объектами с помощью сигналов/слотов
  • Управление размещением элементов (компоновки)
  • Элементы отображения и ввода
  • Практическая работа – приложение со встроенной системой сигналов/слотов

Занятие 10. Qt Designer и работа с файлами

  • Знакомство с Qt Designer
  • Класс строки QString
  • Работа с файлами
  • Практическая работа – разработка приложения «Словарь»

Занятие 11. Qt Designer и диалоговые окна

  • Класс QDialog
  • Класс QAction
  • Взаимодействие виджетов Qt
  • Практическая работа – разработка приложения «Полиморфная кривая»

Занятие 12. Итоговая проверочная работа