Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Десятичная строка

Определение 1

Десятичная строка — это строка, которая может содержать только символы десятичных цифр и символы – и +, определяющие знак числа.

Введение

Базовый класс строка содержит следующие обязательные члены класса:

  1. Указатель на char, который предназначен для хранения адреса динамически выделенной памяти, предназначенной для размещения символов строки.
  2. Значение типа int, которое хранит длину строки в байтах.

Набор обязательных методов должен уметь исполнять следующие действия:

  1. Операции конструктора без параметров.
  2. Операции конструктора, принимающего в качестве параметра Си-строку, которая должна заканчиваться нулевым байтом.
  3. Операции конструктора, принимающего в качестве параметра символ (char).
  4. Операции конструктора копирования.
  5. Операции деструктора.
  6. Операции очистки строки, то есть, необходимо сделать строку пустой.

Производным от класса Строка является класс Строка-идентификатор. Строки этого класса формируются по законам записи идентификаторов в языке программирования Си, и должны включать в свой состав лишь те символы, которые входят в состав Си-идентификаторов. В случае, когда исходные данные входят в противоречие с правилами записи идентификатора, то тогда создается пустая СТРОКА_ИДЕНТИФИКАТОР.

К числу обязательных следует отнести следующие методы:

  1. Метод конструктора без параметров.
  2. Метод конструктора, который принимает в качестве параметра Си-строку, заканчивающуюся нулевым байтом.
  3. Метод конструктора копирования.
  4. Метод деструктора.
  5. Метод перевода всех символов строки (помимо цифр) в верхний регистр.

Строка-идентификатор способна переопределить следующие операции:

  1. Операцию присваивания (=).
  2. Операцию оператора (==) проверки на равенство.
  3. Операцию индексного выражения $[]$.

Десятичная строка

Производным от класса Строка является класс Десятичная строка. Строки этого класса должны содержать лишь символы десятичных цифр и символы – и +, которые задают знак числа. Символы минус (–) или плюс (+) должны располагаться только в первой позиции числа, при этом символ плюс (+) может и не присутствовать, в таком варианте число будет считаться положительным. В случае, когда в составе инициализирующей строки окажутся любые символы, которые отличаются от допустимых, то Десятичная строка должна принять нулевое значение. Содержимое этих строк обязано рассматриваться как десятичное число.

«Десятичная строка» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ

К числу обязательных методов Десятичной строки относятся следующие методы:

  1. Метод конструктора без параметров.
  2. Метод конструктора, который принимает в качестве параметра Си-строку, заканчивающуюся нулевым байтом.
  3. Метод конструктора копирования.
  4. Метод деструктора, который определяет, можно ли отобразить данное число в формате char.

Десятичная строка способна переопределить следующие операции:

  1. Операцию присваивания (=).
  2. Операцию арифметической разности строк (-).
  3. Операцию проверки на равенство (= =).

Следует отметить, что проектировщик имеет право вводить любое количество дополнительных членов и методов при их обоснованной необходимости.

Иерархия классов может быть представлена следующей схемой:

Иерархия классов. Автор24 — интернет-биржа студенческих работ

Рисунок 1. Иерархия классов. Автор24 — интернет-биржа студенческих работ

Класс Строка принято обозначать как String. Он выступает в качестве базового класса для классов десятичная строка и Строк-идентификатор.

Данные являются членами класса, объявленными как protected:

  1. char *str является указателем на массив символов,
  2. int len является переменной, хранящей длину строки.

К числу методов классы строка относятся следующие методы:

  1. Метод string() является конструктором без параметров, способным создать строку нулевой длины.
  2. Метод String(const char *) является конструктором, который в качестве параметра принимает Си-строку.
  3. Метод String(const char) является конструктором, который принимает в качестве параметра один символ.
  4. Метод String(const String &) является конструктором копирования.
  5. Метод ~String() является деструктором.
  6. Метод void clear() является функцией очистки строки.
  7. Метод char *text() является функцией, возвращающей Си-строку.
  8. Метод void friend report(char *) является дружественной функцией, которая способна выводить сообщения о работе конструкторов и деструкторов на консоль, а так же способна выводить сообщения о работе конструкторов в правое диалоговое окно.

Строка идентификатор именуется как Identifier. Этот класс выступает как производный от класса String. К числу методов класса Identifier относятся следующие методы:

  1. Метод Identifier(), который является конструктором.
  2. Метод Identifier(const char *) является конструктором, принимающим в качестве параметра си-строку.
  3. Метод Identifier(const Identifier &) является конструктором копирования.
  4. Метод ~Identifier() является деструктором.
  5. Метод Identifier operator =(const Identifier &) является переопределенной операцией присваивания типа "объект"= "объект".
  6. Метод Identifier operator =(const char *) является переопределенной операцией присваивания типа "объект" = "си-строка".
  7. Метод Identifier operator ==(const Identifier &) является переопределенной операцией проверки на равенство.
  8. Метод сhar operator $[]$(int) является переопределенной операцией индекса.

Десятичная строка носит наименование класса Tenstring. Данный класс выступает как производный от класса String. К методам данного класса относятся следующие:

  1. Метод Tenstring (), который является конструктором.
  2. Метод Tenstring (const char *) является конструктором, который принимает в качестве параметра Си-строку.
  3. Метод Tenstring (const Tenstring &) является конструктором копирования.
  4. Метод ~ Tenstring () является деструктором.
  5. Метод Tenstring operator =(const Tenstring &) является переопределенной операцией присваивания типа "объект" = "объект".
  6. Метод Tenstring operator =(const char *) является переопределенной операцией присваивания типа "объект" = "си-строка".
  7. Метод Tenstring operator −(Tenstring &) является переопределенной операцией разности (арифметическая разность строк).
  8. Метод int operator ==(Tenstring &) является проверкой равенства строк.
  9. Метод void ChangeChar() является проверкой на представление данного числа в char.
Дата написания статьи: 07.06.2022
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot