Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Варіант 25.

Читайте также:
  1. Аналіз та обґрунтування варіантів організації виробничих процесів
  2. Варіант - сільськогосподарські будівлі
  3. Варіант 1
  4. ВАРІАНТ 1
  5. Варіант 10.
  6. Варіант 13
  7. Варіант 13.

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

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

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

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

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

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

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

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

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

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

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

· деструктор

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Дата добавления: 2015-07-20; просмотров: 59 | Нарушение авторских прав


Читайте в этой же книге: Особливості типу char | Рекомендації зо вибору імен змінних і функцій | ТЕОРЕТИЧНА ЧАСТИНА | Функції для роботи з рядками | Робота з файлами | Запам'ятайте! | Ключі доступу | Просте спадкування | Віртуальні методи | Механізм пізнього зв'язування |
<== предыдущая страница | следующая страница ==>
Варіант 4-24.| г. г.Ишимбай

mybiblioteka.su - 2015-2024 год. (0.006 сек.)