| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > Помогите сделать курсовик |
| Автор: Stanley 28.5.2005, 21:51 |
| Вот и сессия пришла а курсовик не могу сделать плиз помогите.... ---------------------------------------------------------------------------------------------------------- Описать базовый класс СТРОКА. Обязательные поля класса: указатель на char — хранит адрес динамически выделенной памяти для размещения символов строки; значение типа int — хранит длину строки в байтах. Обязательные методы должны выполнять следующие действия: конструктор без параметров; конструктор, принимающий в качестве параметра Си-строку (заканчивается нулевым байтом); конструктор, принимающий в качестве параметра символ; конструктор копирования; получение длины строки; очистка строки (сделать строку пустой); деструктор. Описать производный от СТРОКА класс ДЕСЯТИЧНАЯ_СТРОКА. Строки данного класса могут содержать только символы десятичных цифр и символы – и +, задающие знак числа. Символы – или + могут находиться только в первой позиции числа, причем символ + может отсутствовать, в этом случае число считается положительным. Если в составе инициализирующей строки будут встречены любые символы, отличные от допустимых, ДЕСЯТИЧНАЯ_СТРОКА принимает нулевое значение. Содержимое данных строк рассматривается как десятичное число. Обязательные методы: конструктор без параметров; конструктор, принимающий в качестве параметра Си-строку (заканчивается нулевым байтом); конструктор копирования; деструктор; метод, определяющий, можно ли представить данное число в формате int; Переопределить следующие операции: присваивание (=); вычитание (–) — арифметическая разность строк; операция > — проверка на больше (по значению); операция < — проверка на меньше (по значению); Разработчик вправе вводить любое (с обоснованием необходимости) число дополнительных полей и методов. Написать тестовую программу, которая: динамически выделяет массив указателей на базовый класс (4–6); в режиме диалога заполняет этот массив указателями на производные классы, при этом экземпляры производных классов создаются динамически с заданием начальных значений; для созданных экземпляров производных классов выполняет проверку всех разработанных методов с выводом исходных данных и результатов на дисплей. Для конструкторов копирования каждого класса предусмотреть диагностическую печать количества его вызовов в определенное место дисплея (рекомендуется использовать статические члены класса). Режим диалога обеспечивается с помощью иерархического меню. |
| Автор: Yanis 28.5.2005, 21:55 | ||
А ты пытался? Тут в принципе не очень сложно. Если у тебя есть лекции, то это вполне реально написать самому. |
| Автор: Stanley 28.5.2005, 22:11 |
| В том то и проблема что лекции частично не посещались или наоборот частично посещались и поетому лекций нет... Я не много не догоняю до классов что это такое я представляю а с чем едят не очень... |
| Автор: kometa_triatlon 28.5.2005, 22:49 | ||
| Какие-то у вас понтовые курсачи... У нас и лабы посерьезнее будут. Ща попробую забацать, правда сделаю не все, надо еще перегрузку операторов вспоминать...
Интересно, как это сделать? ЗЫ. А вообще это надо в центр помощи, вот если бы ты что-то сам сделал, тогда другое дело. |
| Автор: Yanis 28.5.2005, 22:56 | ||||
ответ:
|
| Автор: Stanley 28.5.2005, 22:57 |
| у меня есть похожий курсач... сейчас архив с почты скачаю... |
| Автор: kometa_triatlon 29.5.2005, 19:03 | ||||
Получается, что строка может содержать только целые числа, так как запятая или точка не входит в разрешенные символы. Тогда зачем:
Разве что этот метод определяет, насколько большое число и можно ли его впихнуть в 4 байта... |
| Автор: chipset 29.5.2005, 19:08 |
| Модератор: из C++:Общие вопросы |
| Автор: kometa_triatlon 29.5.2005, 20:42 | ||||||||||||
| Ну вот и перенесли тему Вобщем, я тут наваял частично. Что НЕ сделал: - не перегрузил операцию "-" (просто не допер как - не сделал метод, определяющий, можно ди представить число как int (Потому что строка в любом случае содержит целые числа) -
??? Тестовую програму попробуй написать сам, если нужны комментарии, скажешь MyString.h
MyString.cpp
DecString.h
DecString.cpp
Кстати, я еще перегрузил операторы << >>, чтобы было удобнее работать. Текст тестовой программы
|
| Автор: kometa_triatlon 29.5.2005, 23:06 | ||||
Перегрузил минус...
|
| Автор: Void 30.5.2005, 20:02 | ||||||||||
atoi знаковые числа умеет... По поводу операторов + и -: я подозреваю, что по условию надо работать со строкам, как с длинными целыми числами (массивом цифр), не ограничиваясь int. |
| Автор: kometa_triatlon 30.5.2005, 21:47 |
| Void Маньяк IsDec() мне понравилось |