Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Варіант 25.

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

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

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

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

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

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

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

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

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

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

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

· деструктор

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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




Переглядів: 464

<== попередня сторінка | наступна сторінка ==>
Варіант 4-24. | Програма розрахунку на ПЕОМ

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.002 сек.