|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.01.2012, 19:13 | #1 |
Пользователь
Регистрация: 04.12.2011
Сообщений: 13
|
Функция базового класса вызывает критическую ошибку при вызове для класса-потомка
Собственно, есть вот такие штуки:
Код:
P.S. разумеется, iostream и string.h подключены |
17.01.2012, 19:23 | #2 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Текст "критической ошибки" привести не обязательно? Типа, это такой тест на внимательность - вникай в код, и догадайся что с ним не так?
А то может быть ты там просто точку с запятой забыл? Код:
|
17.01.2012, 19:23 | #3 | |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Цитата:
Код:
Ведь известно, что для копирования строки, нужно использовать функцию strcpy Код:
|
|
17.01.2012, 19:31 | #4 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Код:
|
17.01.2012, 19:50 | #5 |
Пользователь
Регистрация: 04.12.2011
Сообщений: 13
|
Текст ошибки привести не могу, к сожалению, ибо винда просто утверждает, что работа программы была прекращена.
netrino, спасибо за strcpy. Что-то в 6 утра я забыл об этом, ночь была больно долгая. Помогло, да. _Bers, как сделать очистку памяти от char* правильно? |
17.01.2012, 19:54 | #6 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
Правило простое: как явно выделяли, так же явно освобождаем. Если выделяли блок: ptr = new char[100500], значит удаляем блок: delete [] ptr Если выделяли ед. объект: ptr = new char, значит удаляем ед. объект: delete ptr Проверять ptr на нуль перед удалением не нужно, ибо удаление по нулевому указателю по стандарту правомерно и проблем не имеет. |
|
17.01.2012, 19:57 | #7 |
Пользователь
Регистрация: 04.12.2011
Сообщений: 13
|
_Bers, благодарю.
|
17.01.2012, 20:17 | #8 |
Пользователь
Регистрация: 04.12.2011
Сообщений: 13
|
Впрочем, раз уж открыл тему, один уточняющий вопрос.
Есть список из Код:
Для этого класса определена чисто виртуальная функция show(), переопределенная в каждом классе-потомке. Верна ли следующая функция для пробегания всего списка с вызовом show() для всех элементов? Код:
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как обратиться к полям базового класса? | Azartov | Общие вопросы C/C++ | 13 | 03.07.2011 20:32 |
Определение типа класса по переменной на объект этого класса при компиляции | phomm | Общие вопросы Delphi | 24 | 08.04.2011 14:11 |
Ошибка при присвоении объекту производного класса объекта базового класса с исп. явного приведения типов | Lanx | Помощь студентам | 0 | 06.04.2011 20:24 |
Использование объектов класса потомка в классе предке | Invisible_ | Общие вопросы C/C++ | 1 | 05.04.2011 23:40 |
Ошибка при вызове метода класса | coNsept | Общие вопросы C/C++ | 2 | 14.12.2010 13:09 |