|
0 / 0 / 1
Регистрация: 22.06.2015
Сообщений: 22
|
||||||
Разработать класс Passport22.06.2015, 12:45. Показов 4670. Ответов 13
Метки нет (Все метки)
Реализовать для класса конструктор по умолчанию, конструктор с параметрами и конструктор копирования.
Разработать класс Passport (паспорт), содержащий следующие поля: serial (серия документа), number (номер документа), date (дата выдачи), who (кем выдан); методы: GetChangeTime() — получить время следующего обмена. Перегрузить операторы > и <, считая, что один паспорт больше другого, если выдан раньше. Решение: Разработал класс с нужными полями, ввёл время действия паспорта, но не смог решить дальше. Не могу понять, как высчитать время обмена и перегрузить операторы. Возможно не заметил ещё какие-нибудь ошибки. Если не трудно, помогите решить или направьте в нужном направлении!
0
|
||||||
| 22.06.2015, 12:45 | |
|
Ответы с готовыми решениями:
13
Разработать класс Car. Добавить в класс 3 поля...
|
|
Master of Orion
|
||||||
| 22.06.2015, 13:26 | ||||||
|
simargl2013, пользуйтесь автосвойствами, получается гораздо компактнее
Спросите у преподавателя, как должен работать GetChangeTime(), я вот с законодательством плохо знаком и хз, через сколько лет нужно менять паспорт, тем более, что он меняется в 14 20 и 45 лет. А т.к. возраст выдачи паспорта не указан, то и высчитать следующую выдачу нельзя - потому что для разного возраста будет 14, 6, 25 или бесконечное число лет до выдачи следующего.
1
|
||||||
|
0 / 0 / 1
Регистрация: 22.06.2015
Сообщений: 22
|
|
| 22.06.2015, 13:54 [ТС] | |
|
Благодарю за отклик и совет! Насчёт работы GetChangeTime() указаний в задании нет и значит, я думаю, можно импровизировать- допустим(хоть это и не так) срок действия паспорта 15 лет, как мне получить дату обмена на новый отталкиваясь от даты выдачи(поле date)? Про перегрузку сейчас читаю, ещё раз благодарю!
0
|
|
|
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
|
||||||
| 22.06.2015, 14:06 | ||||||
|
simargl2013,
а почему поле Data типа int, а не DateTime. Иначе можно было так:
1
|
||||||
|
0 / 0 / 1
Регистрация: 22.06.2015
Сообщений: 22
|
|||||||||||
| 22.06.2015, 14:28 [ТС] | |||||||||||
|
Благодарю за совет!
Из того что смог написать касательно перегрузки операторов > и <, правильно ли?
0
|
|||||||||||
|
Master of Orion
|
||||||
| 22.06.2015, 14:37 | ||||||
|
simargl2013, никогда не используйте if (...) return true else return false
![]() и почему w1, w2? ![]()
1
|
||||||
|
0 / 0 / 1
Регистрация: 22.06.2015
Сообщений: 22
|
||||||
| 22.06.2015, 15:15 [ТС] | ||||||
|
В теме перегрузки операторов показывалась задача с использованием if и w1, w2 , которые я, не мудрствуя лукаво, собирался переименовать в p1, p2 но забыл, увы...
Добавлено через 22 минуты Исправленный код программы, но работает не совсем корректно, при запуске программы выдал дату обмена лишь одного паспорта, проигнорировав второй, не могли бы Вы указать мне на ошибку?
0
|
||||||
|
Master of Orion
|
||||||||||||
| 22.06.2015, 15:23 | ||||||||||||
![]()
Хотя я предпочитаю запускать ctrl+F5 и не расставлять ReadKey где ни попадя.
0
|
||||||||||||
|
0 / 0 / 1
Регистрация: 22.06.2015
Сообщений: 22
|
|
| 22.06.2015, 15:36 [ТС] | |
|
Благодарю! Изначально я с тремя паспортами работал, но изменив код для двух забыл поменять комментарий...Теперь всё работает как надо, премного благодарен!
Не подскажете можно ли в одном коде программы реализовать сразу три конструктора (Реализовать для класса конструктор по умолчанию, конструктор с параметрами и конструктор копирования.), или просто нужно три варианта одной программы?
0
|
|
|
0 / 0 / 1
Регистрация: 22.06.2015
Сообщений: 22
|
|||||||||||
| 22.06.2015, 16:48 [ТС] | |||||||||||
|
Правильно ли я понял, что в строчке
new DateTime(), относится к конструктору с параметрами, а "Аноним" к конструктору копирования? При изменении кода выдаёт две ошибки:
0
|
|||||||||||
|
Master of Orion
|
|
| 22.06.2015, 17:11 | |
|
simargl2013, естетсвенно, вы же удалили предыдущий конструктор, на который он ссылается.
И пожалуйста, форматируйте текст перед отправкой, если хотите, чтобы вам помогали. Никакого желания читать скачущие строчки нет.
0
|
|
|
0 / 0 / 1
Регистрация: 22.06.2015
Сообщений: 22
|
|||||||||||
| 22.06.2015, 18:17 [ТС] | |||||||||||
|
Приношу извинения за возможное неправильное оформление кода программы, в программировании я увы не спец, но хочу разобраться с данным заданием и буду признателен за указания на ошибки и советы по решении.
Отладка ошибок не выявила, но меня не покидают сомнения, неужели эта строчка
0
|
|||||||||||
|
Master of Orion
|
|
| 22.06.2015, 19:03 | |
|
simargl2013, нет конечнО, это просто конструктор по-умолчанию, который использует первый конструктор для своей работы, о чем собственно говорит слово this(...).
Конструктор копирования описывается третьим. У класса можно быть сколько угодно конструкторов, лишь бы это имело смысл.
0
|
|
| 22.06.2015, 19:03 | |
|
Помогаю со студенческими работами здесь
14
WD HDD 2TB: My Passport Ultra VS My Passport VS Elements
Класс: Разработать абстрактный класс класс Point для задания координаты...
Разработать класс Man (человек) и производный класс Student (студент). Описать атрибуты. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|