Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Варіант 25



Описати базовий клас РЯДОК.

Обов'язкові поля класу:

· покажчик на char – зберігає адреса динамічно виділеної пам'яті для розміщення символів рядка;

· значення типу int – зберігає довжину рядка в байтах.

Обов'язкові методи:

· конструктор без параметрів;

· конструктор, що приймає як параметр С-рядок (закінчується нульовим байтом);

· конструктор, що приймає як параметр символ;

· конструктор копіювання;

· одержання довжини рядка;

· очищення рядка (зробити рядок порожнім);

· деструктор

Описати похідний від РЯДОК клас РЯДОК_ІДЕНТИФІКАТОР. Рядки даного класу будуються за правилами запису ідентифікаторів у мові С і можуть містити в собі тільки ті символи, що можуть входити до складу С-ідентифікаторів. Якщо вихідні дані суперечать правилам запису ідентифікатора, то створюється порожній РЯДОК_ ІДЕНТИФІКАТОР.

Обов'язкові методи:

· конструктор без параметрів;

· конструктор, що приймає як параметр С-рядок (закінчується нульовим байтом);

· конструктор, що приймає як параметр символ;

· конструктор копіювання;

· переклад усіх символів рядка у верхній регістр;

· переклад усіх символів рядка в нижній регістр;

· пошук першого входження символу в рядок;

· деструктор.

Перевизначити наступні операції:

· присвоювання (=);

· додавання (+) – операція конкатенації рядків;

· віднімання (-) – з рядка (перший операнд) видаляються всі символи, що входять у рядок – другий операнд, при цьому може вийде порожній рядок;

· операція (<) – перевірка на більше. Рядок вважається більше за інший, якщо код символу першого рядка в i-й позиції (i змінюється від 0 до n-1, де n- довжина більш короткого рядка) більше коду символу в тій же позиції в другому рядку, довжини рядків можуть не збігатися.

· операція (>) – перевірка на менше. Рядок вважається меншим за інший, якщо код символу першого рядка в i-й позиції (i змінюється від 0 до n-1, де n- довжина більш короткого рядка) менше коду символу в тій же позиції в другому рядку, довжини рядків можуть не збігатися.

Розроблювач може вводити кожне (з обґрунтуванням необхідності) число додаткових полів і методів.

Написати текстову програму, що:

· динамічно виділяє масив покажчиків на базовий клас (4-6);

· у режимі діалогу заповнює цей масив покажчиками на похідні класи, при цьому екземпляри похідних класів створюються динамічно з завданням початкових значень;

· для створення екземплярів похідних класів виконує перевірку всіх розроблених методів з виводом вихідних даних і результатів на екран (рекомендується використовувати статичні члени класу).

Для конструкторів копіювання кожного класу передбачити діагностичний друк кількості його викликів у визначене місце екрану (рекомендується використовувати статичні члени класу).

Режим діалогу забезпечується за допомогою ієрархічного меню.





Дата публикования: 2015-09-17; Прочитано: 257 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...