|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.07.2022, 11:24 | #1 |
Пользователь
Регистрация: 16.06.2022
Сообщений: 16
|
проблема при создании "кольца "объектов
#include <iostream>
using namespace std; const int n = 4; class MyClass { private: char code; public : MyClass* next; ~MyClass() { cout << "Object was deleted " << code<<endl ; } void show() { int i = 10; while (i > 0) { cout << code << " "; if (next) { next->show(); }i--; } } void Set(char slovo) { code = slovo;(тут какое-то исключение вызывается , нарушение прав доступа)!!! } char Get() { return code; } }; void deleteAll(MyClass* q) { int i = 10; while (i > 0) { if (q->next) { deleteAll(q->next); } delete q; i--; } } int main() { MyClass* pnt = new MyClass; pnt->next->Set('A'); MyClass *p; p = pnt; for (int i = 0; i < n; i++) { p->next = new MyClass; p->next->Set(p->Get() + 1); p = p->next; } p->next = pnt; pnt->show(); cout << endl; deleteAll(pnt); return 0; } как было указано выше, вызывается исключение , по идее у меня должна быть цепочка объектов , где каждый ссылается на последующий , а последний на первый . что-то вроде кольца , но когда я вывожу на экран в консоли свои объекты , там выводится много циклов подряд типо A B C D .... К и так несколько раз подряд . причем сообщения о том что объекты были удалены вовсе не выводится . был бы очень признателен если бы помогли с этим разобраться |
27.07.2022, 11:33 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,759
|
Код:
Зачем вам i и цикл по ней в функциях? Лучше почитайте как устроен линеный список и как с ним работают. |
27.07.2022, 11:57 | #3 |
Пользователь
Регистрация: 16.06.2022
Сообщений: 16
|
просто до списков еще не дошел
|
27.07.2022, 11:59 | #4 |
Пользователь
Регистрация: 16.06.2022
Сообщений: 16
|
p51x, как его можно инициализировать?
|
27.07.2022, 11:59 | #5 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,759
|
|
27.07.2022, 12:00 | #6 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Или доходите скорее до списков. А то вы еще не дошли, но во всю пользуетесь.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Необходимо написать "таймер", который будет запускаться при нажатии кнопки "Start", приостанавливаться на "Pause", и сбрасываться на "Reset" | billiejean78 | JavaScript, Ajax | 1 | 03.09.2021 08:58 |
Нужно добавить окно выхода из программы с кнопками "Да" и "Нет". По кнопке "Нет" окно не закрывается. В чем проблема? | Sergio7 | Паскаль, Turbo Pascal, PascalABC.NET | 12 | 01.05.2020 06:17 |
Убрать папки "Pictures", "Music", "Видео", "Downloads" из "МОЙ КОМПЬЮТЕР" | Бахтиёр1916 | Windows | 1 | 05.04.2017 12:53 |
Нужно пояснить/прокомментировать код программы, или коды функций "Добавить" "Удалить" "Обновить(редактировать" "Поиск" "Период") | ZIRASS | PHP | 4 | 15.06.2016 14:23 |
"Проблема" при создании компонентов в run-time | HyperZen | Общие вопросы Delphi | 2 | 16.06.2011 14:58 |