5 / 6 / 4
Регистрация: 18.11.2009
Сообщений: 661
|
|||||||||||
1 | |||||||||||
Контейнер из неоднородных элементов06.06.2011, 17:27. Показов 2058. Ответов 9
Метки нет (Все метки)
Хотел сначала написать в раздел С для экспертов, но выяснилось- прав не имею.
Есть такая задача (даже несколько разновидностей) дается в Бауманке на 1 или 2 курсе: Моделировать очередь (руками), в качестве элементов которой могут использоваться числа и слова. Операции: добавление элемента, удаление элемента, печать элементов. Соз-дать класс - потомок, который содержит процедуру сортировки слов по алфавиту. Я ее сделал немалой кровью правда.
a = a->nxt; а надо делать цикл типа
Хочу спросить опытных людей: а на хрена вообще вся эта конструкция - неоднородный контейнер любого вида? Где применяется? напоминает чем то UNION в SQL - там UNION тоже редко используется
0
|
06.06.2011, 17:27 | |
Ответы с готовыми решениями:
9
Заменить контейнер vector, использовавшийся для хранения текстовых строк (листинг 2.3), на контейнер list Решение неоднородных ДУ второго порядка Система неоднородных дифф.уравнений. Система неоднородных дифференциальных уравнений |
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
||||||
06.06.2011, 18:03 | 2 | |||||
очевидно там где содержимое может быть разных типов
тут конечно ограничение ++'са, что возвращаемое значение должно быть известно на момент компиляции
0
|
5 / 6 / 4
Регистрация: 18.11.2009
Сообщений: 661
|
|
06.06.2011, 18:48 [ТС] | 3 |
ну вот еще одна stl-ная реализация. А вопрос без ответа - в каких задачах это применяется?
Явно уважаемые программисты, не имеете опыта руководства дипломниками. Решена задача - а применение подобрать слабо? Как говорится, дайте мне задачу и как Архимед с помощью этой программной опоры переверну мир
0
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
06.06.2011, 18:58 | 4 |
eugrita, в вашем чтоли тоже стл был?
пускай будет разбор токенов строки, где токены могу быть разного типа
0
|
274 / 175 / 12
Регистрация: 14.03.2010
Сообщений: 501
|
||||||
06.06.2011, 19:03 | 5 | |||||
eugrita, у тебя всё правильно, только нужно сделать список независимым от элементов, которые в него помещают, а сами элементы обобщить с помощью шаблонов, а именно не писать вручную каждого наследника базового класса, а написать один шаблонный класс.
Ну и для выведения использовать виртуальные функции:
Например, для интерпретаторов, в частности, как выше заметили, для разбора строки.
1
|
5 / 6 / 4
Регистрация: 18.11.2009
Сообщений: 661
|
|
06.06.2011, 19:05 [ТС] | 6 |
слава богу. Одно применение нашли.Правда разбор токенов - расплывчато. Вот разбор арифметического выражения (алгоритм Дейкстры) - конкретно, однако здесь - не катит.
0
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
06.06.2011, 19:13 | 7 |
хорошее решение
Добавлено через 6 минут задача то для экспертов, да что кому надо то? и да, разбор арифметических выражений - вершина достижений computer science
0
|
274 / 175 / 12
Регистрация: 14.03.2010
Сообщений: 501
|
|
06.06.2011, 19:34 | 8 |
Называется "невиртуальный интерфейс" .
Ещё раз — это можно использовать в интерпретаторах языков, а значит, и в разборе арифметических выражений.
1
|
silent_1991
|
06.06.2011, 19:37
#9
|
0
|
274 / 175 / 12
Регистрация: 14.03.2010
Сообщений: 501
|
|
06.06.2011, 19:41 | 10 |
Вот тут хорошо описано:
http://www.insidecpp.ru/patter... interface/ Заодно советую сразу ещё и это прочитать: http://www.insidecpp.ru/patter... e_pattern/
1
|
06.06.2011, 19:41 | |
06.06.2011, 19:41 | |
Помогаю со студенческими работами здесь
10
Система из 3 неоднородных дифференциальных уравнений Запись неоднородных данных (Record) в Stream Решение системы неоднородных диф. уравнений Как в маткаде записать систему 2-х неоднородных ду Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |