|
5 / 5 / 0
Регистрация: 16.05.2012
Сообщений: 93
|
||||||
Класс со значением полей "по умолчанию"11.11.2013, 10:35. Показов 5293. Ответов 26
Метки нет (Все метки)
Здравствуйте. Написал программу, но не могу сделать так, чтобы класс принимал значение полей по умолчанию - закомментированный вариант вызывает ошибку. Пожалуйста помогите исправить. И, если не сложно, объясните разницу между test,test2 и test3, а то в первом 2 вызова деструктора, во втором - один, а в третьем случае деструктор не вызывается
0
|
||||||
| 11.11.2013, 10:35 | |
|
Ответы с готовыми решениями:
26
Подсветка строк содержащих одинаковые значения полей или подсветка полей с одинаковым значением в таблице |
|
5 / 5 / 0
Регистрация: 16.05.2012
Сообщений: 93
|
|
| 11.11.2013, 10:52 [ТС] | |
|
Я закомментировал то, что вызывает ошибку. Если конкретно, то строка 14 и 44, ошибка выскакивает непосредственно во время работы программы
0
|
|
|
|
||||||
| 11.11.2013, 11:00 | ||||||
|
Во-первых, string использовать тебе религия не позволяет?
Во-вторых, да, возможно ты упражняешься в ручном выделении памяти, но... даже если заниматься самостоятельным выделением памяти, для строк должен быть отдельный самописный класс!!! Иначе, ты как индустри раза дублируешь одини тот же код в своем классе! В-третьих, ты забыл при выделении памяти указать ее размер
1
|
||||||
|
5 / 5 / 0
Регистрация: 16.05.2012
Сообщений: 93
|
|
| 11.11.2013, 11:05 [ТС] | |
|
У меня поначалу было выделение под 30 символов, но потом убрал, т.к. не понял как выделять непосредственно под нужное число символов. Я догадываюсь, что проблема в том, что сначала идет присваивание значения для поля, а потом только выделяется память. Прошу простить, если где-то туплю, это моя первая программа с классами.
0
|
|
| 11.11.2013, 11:07 | |
|
0
|
|
|
51 / 51 / 21
Регистрация: 08.02.2013
Сообщений: 189
|
|||||||||||
| 11.11.2013, 11:12 | |||||||||||
|
В конструкторе по умолчанию, Line 44, делается попытка выделить память в пуле динамически распределяемой памяти под строки, как уже упоминалось не указывается размер массива для этой цели
Добавлено через 58 секунд
1
|
|||||||||||
|
5 / 5 / 0
Регистрация: 16.05.2012
Сообщений: 93
|
||||||
| 11.11.2013, 11:57 [ТС] | ||||||
|
Я делал так или в строке 14, или в 44: char *LastName="Ivanov", char *FirstName="Ivan", char *Patronimyc="Ivanovich", char *Group="sdw23", int Born=23
Добавлено через 40 минут Вот как было раньше. Можете помочь исправить? Я просто не знаю, как сделать так, чтобы выделялась память под нужно число символов
0
|
||||||
|
|
||||||
| 11.11.2013, 12:25 | ||||||
|
Либо используйте класс string как вам указали выше. Ну если не ймется вычисляйте длину строки при инициализации.
Не правильно перегружаете операторы копирования и присвоения. Обязательно нужно освобождать занятую память и выделять новую. Примерно так:
Аналогично для присвоения.
1
|
||||||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|
| 11.11.2013, 12:32 | |
|
Ilot, зачем в копирующем конструкторе delete ? Создается новый объект (старого нет), и удалять нечего. Это может быть актуально для оператора присваивания.
P.S. Параметр конструктора хорошо бы сделать const ссылкой.
1
|
|
|
5 / 5 / 0
Регистрация: 16.05.2012
Сообщений: 93
|
||||||||||||
| 11.11.2013, 12:51 [ТС] | ||||||||||||
0
|
||||||||||||
|
51 / 51 / 21
Регистрация: 08.02.2013
Сообщений: 189
|
|||||||||||
| 11.11.2013, 13:01 | |||||||||||
0
|
|||||||||||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||
| 11.11.2013, 13:04 | ||
|
0
|
||
|
5 / 5 / 0
Регистрация: 16.05.2012
Сообщений: 93
|
|||||||||||
| 11.11.2013, 13:08 [ТС] | |||||||||||
|
Странно, мне в университете преподаватель сказал, что нужно делать именно так.
Подсчет длины примерно так? Просто ошибка во время работы возникает
0
|
|||||||||||
|
51 / 51 / 21
Регистрация: 08.02.2013
Сообщений: 189
|
||||||
| 11.11.2013, 13:09 | ||||||
|
Вообще, если вы уж выбрали строки С- стиля, в отказ строкам, представленным с помощью
0
|
||||||
|
|
|
| 11.11.2013, 13:18 | |
|
0
|
|
|
51 / 51 / 21
Регистрация: 08.02.2013
Сообщений: 189
|
|
| 11.11.2013, 13:24 | |
|
1
|
|
|
5 / 5 / 0
Регистрация: 16.05.2012
Сообщений: 93
|
|
| 11.11.2013, 13:28 [ТС] | |
|
Благодарю. Но можете всетаки непосредственно помочь с прогой. Что не так в том коде, что я выложил пару постов назад. И что нужно добавить-удалить в присваивании, просто delete[] и new я в каждую функцию добавлял, но это не помогло
0
|
|
| 11.11.2013, 13:28 | |
|
Помогаю со студенческими работами здесь
20
Select со значением по умолчанию из модели
Инициализация массива значением по умолчанию Может ли функция быть значением по умолчанию? Добавление столбца в таблицу со значением по умолчанию Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|