|
9 / 9 / 1
Регистрация: 01.02.2010
Сообщений: 35
|
||||||||||||||||
Задача по наследованию. Не понимаю некоторые моменты в формулировке задания08.11.2011, 08:13. Показов 2687. Ответов 6
Метки нет (Все метки)
Здравствуйте! Вот есть задание:
Описать базовый класс СТРОКА Обязательные поля класса: # Указатель на char - хранит адрес динамически выделенной памяти для размещения символов строки; # Значение типа int - хранит длину строки в байтах; Обязательные методы: # Конструктор без параметров; # Конструктор, принимающий в качестве параметра С-строку (заканчивается нулевым байтом); # Конструктор, принимающий в качестве параметра символ; # Конструктор копирования; # Получение длины строки; # Очистка строки (сделать строку пустой); # Деструктор. Описать производный от СТРОКА класс БИТОВАЯ_СТРОКА Строки данного класса могут содержать только символы '0' и '1'. Если в составе инициализирующей строки будут встречены любые символы, отличные от допустимых, БИТОВАЯ_СТРОКА принимает нулевое значение. Содержимое данных строк рассматривается как двоичное число. Отрицательные числа хранятся в дополнительном коде. Обязательные методы: # Конструктор без параметров; # Конструктор, принимающий в качестве параметра С-строку (заканчивается нулевым байтом); # Конструктор копирования; # Деструктор; # Изменение знака на противоположный (перевод числа в дополнительный код). Переопределить следующие операции (длина строки результата равна длине большей из строк; в случае необходимости более короткая битовая строка расширяется влево знаковым разрядом): # Присваивание (=); # Сложение (+) - арифметическая сумма строк; # Операция (==) - проверка на равенство. Разроботчик вправе вводить любое (с обоснованием необходимости) число дополнительных полей и методов. Написать тестовую программу, которая # Динамически выделяет массив указателей на базовый класс (4-6); # В режиме диалога заполняет этот массив указателями на производные классы, при этом экземпляры производных классов создаются динамически с заданием начальных значений; # Для созданных экземпляров производных классов выполняет проверку всех разработанных методов с выводом исходных данных и результатов на дисплей. Для конструкторов копирования каждого класса предусмотреть диагностическую печать количества его вызовов в определенное место дисплея (рекомендуется использовать статические члены класса). Режим диалога обеспечивается с помощью иерархического меню. (Это задание взято из книги "Павловская. С/С++: программирование на языке высокого уровня") Объясните пожалуйста следующее:
----
---- И каким образом писать методы для классов если сама строка создается динамически? Работать с этим:
---- На каком этапе динамически выделять память для строки? При запуске любого из конструкторов (т.е. в каждом конструкторе нужно прописать выделение памяти под строку)? А как это будет выглядеть? Так?
И правильно ли я понимаю, что для каждой строки динамически создается отдельный объект? ---- Добавлено через 9 часов 36 минут А еще не понятно, как делать это:
0
|
||||||||||||||||
| 08.11.2011, 08:13 | |
|
Ответы с готовыми решениями:
6
Задача по наследованию в C++, нужно реализовать некоторые моменты решить формулу через оператор for (неясны некоторые моменты задания) Проверка задания по наследованию |
|
86 / 81 / 28
Регистрация: 02.08.2011
Сообщений: 335
|
|
| 08.11.2011, 08:35 | |
|
1 символ = 1 байт = ASCII. 10 символов = 10 байт, типа того, что ли (+ \0 , 11 байт). Про строки в книгах инфы много))
0
|
|
|
9 / 9 / 1
Регистрация: 01.02.2010
Сообщений: 35
|
|
| 08.11.2011, 09:10 [ТС] | |
|
Вроде же char не обязательно занимает один байт, все зависит от машины
0
|
|
|
86 / 81 / 28
Регистрация: 02.08.2011
Сообщений: 335
|
||||||
| 08.11.2011, 09:27 | ||||||
|
Ты на char не зацикливайся, я про кодировку и сколько один символ занимает места. ASCII ff (16)= 255 (10) = 1 байт = 1111 1111.(2) =))
0
|
||||||
|
9 / 9 / 1
Регистрация: 01.02.2010
Сообщений: 35
|
|
| 08.11.2011, 09:56 [ТС] | |
|
Не думаю что тут уместен класс string. Задание как раз в том, что бы написать свой собственный класс работы со стоками
0
|
|
|
86 / 81 / 28
Регистрация: 02.08.2011
Сообщений: 335
|
|
| 08.11.2011, 10:06 | |
|
Забудь про string и char (пример), я хотел сказать что для строки "hhhhjjjjkkkkllllaaaa" значение типа int - 20 байт. int lenght = 20;
0
|
|
|
31 / 31 / 16
Регистрация: 02.11.2011
Сообщений: 216
|
|
| 20.02.2013, 21:13 | |
|
привет. если у тебя осталась эта прога, можешь ее скинуть? очень надо.
0
|
|
| 20.02.2013, 21:13 | |
|
Помогаю со студенческими работами здесь
7
Проясните некоторые моменты
Некоторые моменты в индексации сайта Объясните некоторые моменты в задаче Некоторые моменты с регистрацией на сайте Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes.
А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения
развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит:
токи, напряжения и их 1 и 2 производные при t = 0;. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|