ді класів і знову ж бере на себе рутинні дії начебто закриття дескрипторів і виділення/звільнення пам'яті. p align="justify"> Додавання коду програми до каркаса реалізовано двома способами. Перший використовує механізм успадкування: основні програмні структури каркасу представлені у вигляді класів, успадкованих від бібліотечних. У цих класах передбачено безліч віртуальних функцій, що викликаються в певні моменти роботи програми. Шляхом доопределения (у більшості випадків необхідно викликати функцію базового класу) цих функцій програміст може додавати виконання в ці моменти свого коду. p align="justify"> Другий спосіб використовується для додавання обробників віконних подій. Майстер створює усередині каркасів класів, пов'язаних з вікнами, спеціальні масиви - карти (віконних) повідомлень (англ. message map), що містять пари В«ВД повідомлення - покажчик на обробникВ». При додаванні/видаленні обробника майстер вносить зміни до відповідного карту повідомлень. p align="justify"> В даний час переважної парадигмою програмування є об'єктно-орієнтована, в якій в якій основними концепціями є поняття об'єктів і класів. Об'єктно-орієнтоване програмування засноване на В«трьох китахВ» - трьох найважливіших принципах, що додають об'єктам нові властивості. Цими принципами є інкапсуляція, спадкування і поліморфізм. Інкапсуляція є об'єднання в єдине ціле даних і алгоритмів обробки цих даних. Поліморфізм - це властивість споріднених об'єктів вирішувати схожі за змістом проблеми різними способами. Спадкування є властивість об'єктів породжувати своїх нащадків. Об'єкт - нащадок автоматично успадковує від батька всі поля та методи, може доповнювати об'єкти новими полями і замінювати (перекривати) методи батька або доповнювати їх. p align="justify"> Клас - це абстрактний тип даних, який включає в себе не тільки дані, але й функції і процедури. Клас використовується тільки через його інтерфейс - деталі реалізації для користувача класу несуттєві. У класі задаються властивості і поведінку якого предмета чи процесу у вигляді полів даних і функції для роботи з ними. Створюваний тип даних має практично тими ж властивостями, що і стандартні типи. p align="justify"> При проектуванні системи був виділений клас event, який буде служити для зберігання і обробки подій, а також будемо використовувати шаблон vector, який налаштуємо на роботу з типом event.
В
Рис 2.1 Уточнена діаграма класів
Клас event був описаний в розділі аналізу предметної області, але були додані деякі методи: конструктор з параметрами, метод повертає тип події, метод повертає повідомлення і метод повертає час настання події, а також були перевантажені оператор більше і оператор порівняння. Методи повертають повідомлення і тип повертають рядок типу CString, а метод повертає час настання події - структуру SYSTEMTIME. У конструкторі з параметрами перші шість параметрів (Y, M, D, H, Min, Sec) це змінні типу int, які зберігають і...