Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
CROSP
3 / 3 / 0
Регистрация: 13.06.2012
Сообщений: 114
#1

Мультисписок на базе бестиповых указателей (оцените код и подскажите что исправить ) - C++

19.10.2013, 14:30. Просмотров 585. Ответов 4
Метки нет (Все метки)

Здравствуйте ,
Задача стояла реализовать мультисписковую структуру на базе массива бестиповых указателей.
Структура примерно выглядит так прикрепленном изображении.
Делал отдельный шаблонный класс который работал со массивом бестиповых указателей.
А уже в структуре сделал поле указатель на этот объект этого класса.
Но мне не нравится реализация моя . Хотелось бы сделать как-то более обобщенно.
Внешний класс mainUniv работает только с такой структурой данных как на изображении .
Хотелось бы как-то реализовать, так чтобы внеся небольшие изменения можно было работать с большим количеством подуровней в списке , а не переделывать полностью класс.
Кто может , оцените пожалуйста и прокомментируйте, что можно ( или нужно) было сделать по другому.
Вот исходники на gite - https://github.com/CROSP/VoidArrayList
Спасибо огромное всем заранее .
Миниатюры
Мультисписок на базе бестиповых указателей (оцените код и подскажите что исправить )  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2013, 14:30     Мультисписок на базе бестиповых указателей (оцените код и подскажите что исправить )
Посмотрите здесь:

Посмотрите код, подскажите что исправить - C++
Вот 4 дня назад начал изучать C++ Учительница по информатике дала задачу: Вводятся 3 числа. Если положительное - возвести во 2...

Что есть мультисписок? - C++
Дали такое задание - организовать нелинейную структуру. Само задание на рисунке. Прочитал методичку несколько раз, перерыл кучу сайтов...

Подскажите как исправить код - C++
Исправить чтобы дважды не менялось одно и тоже поле #include <iostream> #include <ctime> #include <windows.h> using namespace std; ...

Подскажите как исправить код - C++
ТЗ: В матрице в строках с отрицательным элементом на главной диагонали найти наибольший элемент строки и минимум среди них Мой...

Вот код, подскажите как исправить ошибку, пожалуйста??? - C++
Вот вибивает такие ошибки: 1>c:\users\user\desktop\ооп 6\ооп 6\ооп6.cpp(40) : error C2661: D3:: D3: нет перегруженной функции,...

Исправить код, что было только рисование линии - C++
help.... помогите кто может.... есть код на turbo c++ рисует фигуру скругленный прямоугольник.... подскажите что поменять мне нужно чтобы...

Народ гляньте код и подскажите что не так. - C++
Условие: Написать функцию, которая округляет любое вещественное число до определённого количества знаков с математической точностью. ...

Знаю , что подобное задание на форуме есть, но подскажите как правильно оформить мой код, пожалуйста - C++
#include "stdafx.h" #include "conio.h" #include "locale.h" #include "math.h" #include "ctype.h" //Не правильно считает сумму и в...

Подскажите что не правильно чему оно не так выводит и по возможности исправьте ошибки вот условие и код программы - C++
Подскажите что не правильно чему оно не так выводит и по возможности исправьте ошибки вот условие и код программы: Проверить, есть ли во...

код с использованием указателей - C++
Привет многоуважаемые пользователи не могли бы вы помоч в решение проблемы суть такова как сделать так что у нас выводилось в консоль не ...

Код с использование указателей - C++
Переделайте пожалуйста код, что бы в нем использовались указатели В массиве хранится информация о численности книг в каждом из 35...

Переписать код без указателей - C++
Ввести в память машины одномерный целочисленный массив,используя динамическое выделение памяти,найти количество максимальных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Fyret
184 / 170 / 13
Регистрация: 30.07.2013
Сообщений: 359
19.10.2013, 16:00     Мультисписок на базе бестиповых указателей (оцените код и подскажите что исправить ) #2
Чтобы порассуждать на тему как лучше сделать, надо хотя бы понимать, что нужно сделать. Мне, например, не очень понятно. Что такое мультисписковая структура и зачем тут нужны бестиповые указатели?

У Вас же вполне конкретная иерархия: есть список указателей объектов одного типа, каждый объект содержит в себе указатель (кстати, зачем указатель?) на список объектов другого типа, у тех объектов тоже есть свой список.
В общем, я совсем не понимаю, при чем тут бестиповые указатели.

Кстати, согласно принципа инкапсуляции, ни один класс ничего не должен знать о внутреннем устройстве любого другого класса. У Вас же почти вся логика реализована в pointerArray.

Еще могу заметить, что функция (main) на 8 экранов - это мягко говоря, совсем нехорошо.
CROSP
3 / 3 / 0
Регистрация: 13.06.2012
Сообщений: 114
20.10.2013, 11:16  [ТС]     Мультисписок на базе бестиповых указателей (оцените код и подскажите что исправить ) #3
Бестиповые указатели для того чтобы можно было хранить элементы любого типа в массиве. Но вот функцию удаления я не придумал как сделать без приведения типов , вот и использовал шаблонный класс .
Подскажите как правильнее реализовать данную структуру .
gray_fox
What a waste!
1443 / 1172 / 61
Регистрация: 21.04.2012
Сообщений: 2,449
Завершенные тесты: 3
20.10.2013, 12:12     Мультисписок на базе бестиповых указателей (оцените код и подскажите что исправить ) #4
Эмм... как то сложно всё у вас)
C++
1
2
3
4
5
6
7
8
9
10
11
12
struct faculty {
   // ...
};
 
struct university {
   // ...
   std::list<faculty> faculties;   // список факультетов
};
 
int main() {
   std::list<university> universities;   // список университетов
}
CROSP
3 / 3 / 0
Регистрация: 13.06.2012
Сообщений: 114
20.10.2013, 15:41  [ТС]     Мультисписок на базе бестиповых указателей (оцените код и подскажите что исправить ) #5
Нужно без использования стандартных классов
Yandex
Объявления
20.10.2013, 15:41     Мультисписок на базе бестиповых указателей (оцените код и подскажите что исправить )
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru