Читайте также: |
|
Описати базовий клас РЯДОК.
Обов'язкові поля класу:
· покажчик на char – зберігає адреса динамічно виділеної пам'яті для розміщення символів рядка;
· значення типу int – зберігає довжину рядка в байтах.
Обов'язкові методи:
· конструктор без параметрів;
· конструктор, що приймає як параметр С-рядок (закінчується нульовим байтом);
· конструктор, що приймає як параметр символ;
· конструктор копіювання;
· одержання довжини рядка;
· очищення рядка (зробити рядок порожнім);
· деструктор
Описати похідний від РЯДОК клас РЯДОК_ІДЕНТИФІКАТОР. Рядки даного класу будуються за правилами запису ідентифікаторів у мові С і можуть містити в собі тільки ті символи, що можуть входити до складу С-ідентифікаторів. Якщо вихідні дані суперечать правилам запису ідентифікатора, то створюється порожній РЯДОК_ ІДЕНТИФІКАТОР.
Обов'язкові методи:
· конструктор без параметрів;
· конструктор, що приймає як параметр С-рядок (закінчується нульовим байтом);
· конструктор, що приймає як параметр символ;
· конструктор копіювання;
· переклад усіх символів рядка у верхній регістр;
· переклад усіх символів рядка в нижній регістр;
· пошук першого входження символу в рядок;
· деструктор.
Перевизначити наступні операції:
· присвоювання (=);
· додавання (+) – операція конкатенації рядків;
· віднімання (-) – з рядка (перший операнд) видаляються всі символи, що входять у рядок – другий операнд, при цьому може вийде порожній рядок;
· операція (<) – перевірка на більше. Рядок вважається більше за інший, якщо код символу першого рядка в i-й позиції (i змінюється від 0 до n-1, де n- довжина більш короткого рядка) більше коду символу в тій же позиції в другому рядку, довжини рядків можуть не збігатися.
· операція (>) – перевірка на менше. Рядок вважається меншим за інший, якщо код символу першого рядка в i-й позиції (i змінюється від 0 до n-1, де n- довжина більш короткого рядка) менше коду символу в тій же позиції в другому рядку, довжини рядків можуть не збігатися.
Розроблювач може вводити кожне (з обґрунтуванням необхідності) число додаткових полів і методів.
Написати текстову програму, що:
· динамічно виділяє масив покажчиків на базовий клас (4-6);
· у режимі діалогу заповнює цей масив покажчиками на похідні класи, при цьому екземпляри похідних класів створюються динамічно з завданням початкових значень;
· для створення екземплярів похідних класів виконує перевірку всіх розроблених методів з виводом вихідних даних і результатів на екран (рекомендується використовувати статичні члени класу).
Для конструкторів копіювання кожного класу передбачити діагностичний друк кількості його викликів у визначене місце екрану (рекомендується використовувати статичні члени класу).
Режим діалогу забезпечується за допомогою ієрархічного меню.
Дата добавления: 2015-07-20; просмотров: 59 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Варіант 4-24. | | | г. г.Ишимбай |