![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
Seifer |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 9.4.2006 Репутация: нет Всего: нет |
Суть темы такая:
Описать базовый класс СТРОКА. Обязательные поля класса: указатель на char — хранит адрес динамически выделенной памяти для размещения символов строки; значение типа int — хранит длину строки в байтах. Обязательные методы должны выполнять следующие действия: конструктор без параметров; конструктор, принимающий в качестве параметра Си-строку (заканчивается нулевым байтом); конструктор, принимающий в качестве параметра символ; конструктор копирования; получение длины строки; очистка строки (сделать строку пустой); деструктор. Описать производный от СТРОКА класс ДЕСЯТИЧНАЯ_СТРОКА. Строки данного класса могут содержать только символы десятичных цифр и символы – и +, задающие знак числа. Символы – или + могут находиться только в первой позиции числа, причем символ + может отсутствовать, в этом случае число считается положительным. Если в составе инициализирующей строки будут встречены любые символы, отличные от допустимых, ДЕСЯТИЧНАЯ_СТРОКА принимает нулевое значение. Содержимое данных строк рассматривается как десятичное число. Обязательные методы: конструктор без параметров; конструктор, принимающий в качестве параметра Си-строку (заканчивается нулевым байтом); конструктор копирования; деструктор; метод, определяющий, можно ли представить данное число в формате int; Переопределить следующие операции: присваивание (=); вычитание (–) — арифметическая разность строк; операция > — проверка на больше (по значению); операция < — проверка на меньше (по значению); Разработчик вправе вводить любое (с обоснованием необходимости) число дополнительных полей и методов. Написать тестовую программу, которая: динамически выделяет массив указателей на базовый класс (4–6); в режиме диалога заполняет этот массив указателями на производные классы, при этом экземпляры производных классов создаются динамически с заданием начальных значений; для созданных экземпляров производных классов выполняет проверку всех разработанных методов с выводом исходных данных и результатов на дисплей. Для конструкторов копирования каждого класса предусмотреть диагностическую печать количества его вызовов в определенное место дисплея (рекомендуется использовать статические члены класса). Очень нужна помощь! От этого зависит моя судьба! Заранее благодарен. |
|||
|
||||
BreakPointMAN |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 15.9.2004 Где: Saratov Репутация: 2 Всего: 24 |
Для таких вещей существует Центр помощи.
-------------------- "Разруха не в клозетах, а в головах." © Ф.Ф. Преображенский (М.Булгаков, "Собачье сердце") |
|||
|
||||
Megamozg |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 3.4.2006 Репутация: нет Всего: нет |
Я знаю откуда ты взял задание, мож не пытаться я уже тут его постил, писали поможем, а потом забыли уже неделю ни ответа ни привета, вот сам теперь разбираюсь.
Привет с курсов. |
|||
|
||||
Seifer |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 9.4.2006 Репутация: нет Всего: нет |
Давай его толкать в ЦП
Я тут уже накопал немножко. Привет тебе с курсов тоже. Ты кто и у кого? ![]() |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 6 Всего: 207 |
я думаю, все писать никто не будет, в чем конкретно трудность? -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
Seifer |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 9.4.2006 Репутация: нет Всего: нет |
собсно, трудности в следующих моментах:
Момент1 Строки данного класса могут содержать только символы десятичных цифр и символы – и +, задающие знак числа. Символы – или + могут находиться только в первой позиции числа, причем символ + может отсутствовать, в этом случае число считается положительным. Если в составе инициализирующей строки будут встречены любые символы, отличные от допустимых, ДЕСЯТИЧНАЯ_СТРОКА принимает нулевое значение. Содержимое данных строк рассматривается как десятичное число. Момент2 Переопределить следующие операции: присваивание (=); вычитание (–) — арифметическая разность строк; операция > — проверка на больше (по значению); операция < — проверка на меньше (по значению); И момент3 Написать тестовую программу, которая: динамически выделяет массив указателей на базовый класс (4–6); в режиме диалога заполняет этот массив указателями на производные классы, при этом экземпляры производных классов создаются динамически с заданием начальных значений; для созданных экземпляров производных классов выполняет проверку всех разработанных методов с выводом исходных данных и результатов на дисплей. Создание и удаление строки с помощью кострукторов и деструкторов я в целом понимаю. Интересует переопределение операций и запись условия в десятичной_строке. Динамическое выделение массива указателей и заполнение в режиме диалога просто не знаю. Вот основные моменты. |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: нет Всего: 98 |
что-то мне кажется что приведенные моменты просто скопированны из задания.
поэтому их пропустим... идем дальше что именно интересует? примеров перегрузки операторов что на форуме что в том же рихтере -- хоть засыпся тут непонятно. пиши подробнее опять же -- на форуме уже обсуждалось а это просто -- в цикле проходиш по всем элементам массива и показываеш форму ( или запрос в косоль ) -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Megamozg |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 3.4.2006 Репутация: нет Всего: нет |
То что тебе не понятно и еще кое что не понятно и нам, но такое задание дели и все тут.
Более менее начинаю доганять как делать, но не пойму что должно быть в итоге, в чем суть программы и как написать последнюю часть задания для тестирования проги. |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: нет Всего: 98 |
ну так уточни у преподавателя.
и что непонятно с последней частью? -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
MAKCim |
|
||||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 6 Всего: 207 |
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||||
|
|||||||
Seifer |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 9.4.2006 Репутация: нет Всего: нет |
Всё таки в форуме рыться времени нету, поэтому прошу выложить динамическое выделение.
|
|||
|
||||
Megamozg |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 3.4.2006 Репутация: нет Всего: нет |
Немного написал непонятны моменты:
1.В программе используются объекты типа string или массив символов char. 2.Какова роль указателя на char. 3.конструктор, принимающий в качестве параметра Си-строку (заканчивается нулевым байтом); Что имеется ввиду Си-строка, как описать конец строки нулевым байтом в конструкторе. 4.Конструктор копирования. Имеется ввиду копирование посимвольно char или как. Помогите с этими моментами, остальное понял или пойму по ходу. |
|||
|
||||
Fixin |
|
||||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 5 Всего: 18 |
Массив чаров, указывает на начало сишной строки (массива чаров).
Это относится к теории классов C++. Прикол в создании класса-копии. Этого я не знаю... помочь не могу. |
||||
|
|||||
Megamozg |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 3.4.2006 Репутация: нет Всего: нет |
Спасибо, щас попробую дописать.
|
|||
|
||||
Megamozg |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 3.4.2006 Репутация: нет Всего: нет |
Так че-то получилось.
Помогите написать тестовую прогу, я написал, но че-то не так, у меня без массива указателей, а как с ним незнаю. При вводе можно вводить наподобии +++---23 как от этого избавиться, чтобы только +12 или -12. И как правильно работать со знаковыми числами, т.е. ввели -12 и 22 и вычитаем их, у меня получается бред. И что значат последние два пункта: -Для созданных экземпляров производных классов выполняет проверку всех разработанных методов с выводом исходных данных и результатов на дисплей. -Для конструкторов копирования каждого класса предусмотреть диагностическую печать количества его вызовов в определенное место дисплея (рекомендуется использовать статические члены класса). Ну вообщем прога не на 100% но работает. Пожалуйста помогите с этими вопросами до завтра. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |