Описати базовий клас Рядок. Обов'язкові поля класу:
· поле для зберігання символів рядка;
· значення типу word для зберігання довжини рядка в байтах.
Реалізувати обов'язкові методи наступного призначення:
· конструктор без параметрів;
· конструктор, що приймає як параметр рядковий літерал;
· конструктор, що приймає як параметр символ;
· метод отримання довжини рядка;
· метод очищення рядка (зробити рядок порожнім).
Описати похідний від Рядок клас Комплексне_число.
Рядки даного класу складаються з двох полів, розділених символом i.
Перше поле задає значення дійсної частини числа, друге, - значення уявної. Кожне з полів може містити тільки символи десяткових цифр і символи - і +, задаючи знак числа. Символи - або + можуть знаходитися тільки в першій позиції числа, причому символ + може бути відсутнім, в цьому випадку число вважається додатним. Якщо у складі ініціалізованого рядка будуть зустрінуті будь-які символи, відмінні від допустимих, клас Комплексне_число приймає нульове значення. Приклади рядків:
33i12
-7i100
+5i - 21
Для класу Комплексне_число визначити наступні методи:
· перевірка на рівність;
· складання чисел;
· множення чисел.