|
19 / 19 / 1
Регистрация: 12.08.2011
Сообщений: 59
|
||||||||||||||||
Использование указателя на объект шаблонного класса в шаблонном классе.12.08.2011, 10:15. Показов 7727. Ответов 26
Метки нет (Все метки)
Всем привет!
Мне нужно реализовать граф. Начал с вершин и ребер, причем и ребра и вершины - шаблонные классы, для того чтобы и ребро и вершина могли содержать разные данные. В ребре указатели на 2 вершины. Класс вершины:
1>c:\users\артем\documents\visual studio 2010\projects\kp2\kp2\Vertex.cpp(6): error C2955: Vertex: для использования класса шаблон требуется список аргументов шаблон Подскажите, пожалуйста, в чем дело?
0
|
||||||||||||||||
| 12.08.2011, 10:15 | |
|
Ответы с готовыми решениями:
26
Создать объект шаблонного класса в другом классе Как корректно передать в метод шаблонного класса объект шаблонного класса в качестве параметра? Определение класса в шаблонном классе |
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
| 14.08.2011, 01:09 | |
|
gretham, ну, лежит у Вас где-то поле неизвестного вам заранее типа, хранить не проблема, но работать-то с ним как собираетесь?
0
|
|
|
19 / 19 / 1
Регистрация: 12.08.2011
Сообщений: 59
|
||
| 14.08.2011, 01:35 [ТС] | ||
|
Возможно я не так выразился, поэтому прям приведу кусок из задания) АТД «Дескриптор вершины графа» Дескриптор вершины содержит поля: name – имя вершины, data – данные, связанные с вершиной, index – индекс вершины в структуре графа или -1, Интерфейс АТД «Дескриптор вершины графа» включает операции: Конструктор ():поле name не определено, поле data не определено, Конструктор (name, data): name - имя вершины, data - данные, связанные с вершиной, GetName( ) - возвращает имя вершины, GetData( ) - возвращает данные, связанные с вершиной, SetName(name ) – задает имя вершины, SetData(data) – записывает данные data в дескриптор вершины. АТД «Дескриптор ребра графа» Дескриптор ребра содержит поля: v1 - дескриптор вершины, из которой исходит ребро, v2 - дескриптор вершины, в которую входит ребро, w - вес ребра, data - данные, связанные с ребром, Интерфейс АТД «Дескриптор ребра графа» включает операции: Конструктор (v1, v2): v1 - дескриптор вершины, из которой исходит ребро, v2 - дескриптор вершины, в которую входит ребро, Конструктор (v1, v2, w ): v1 - дескриптор вершины, из которой исходит ребро, v2 - дескриптор вершины, в которую входит ребро, w - вес ребра, Конструктор (v1, v2, w, data): v1 - дескриптор вершины, из которой исходит ребро, v2 - дескриптор вершины, в которую входит ребро, w - вес ребра, data - данные, связанные с ребром v1( ) - возвращает дескриптор вершины, из которой исходит ребро, v2( ) - возвращает дескриптор вершины, в которую входит ребро, from (дескриптор вершины v) - возвращает признак исхода ребра из заданной вершины v, other(дескриптор вершины v) - возвращает дескриптор вершины, связанной с вершиной v данным ребром, GetW ( ) - возвращает вес ребра, SetW (вес ребра) - изменение веса ребра, GetData( ) - возвращает данные, связанные с ребром, SetData(данные) - изменение данных, связанных с ребром. Здесь два указателя на вершины лежат в ребре, и ребра и вершины шаблонные (обязательное условие) и данные могут быть разных типов. Вот как - то так))
0
|
||
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
| 14.08.2011, 01:45 | |
|
gretham, а с чего вы взяли что у вершин и ребер данные будут разных типов?
0
|
|
|
19 / 19 / 1
Регистрация: 12.08.2011
Сообщений: 59
|
|||||||
| 14.08.2011, 02:05 [ТС] | |||||||
|
Какой же смысл реализовывать структуру хранения данных, в которой может быть только один тип данных? Блин, придумал! (вернеемодифицировал то, что друг посоветовал)
Писал по ходу, так что возможны ошибки.
0
|
|||||||
|
2383 / 1667 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
|
| 14.08.2011, 02:10 | |
|
gretham, интересно будет посмотреть, как из этого можно слепить граф с десятком-другим рёбер
0
|
|
|
19 / 19 / 1
Регистрация: 12.08.2011
Сообщений: 59
|
|
| 14.08.2011, 02:12 [ТС] | |
|
0
|
|
|
2383 / 1667 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
|
| 14.08.2011, 02:14 | |
|
Ну мне просто интересно, где будет храниться большое количество разнотипных рёбер и вершин, и как с этими рёбрами и вершинами работать.
0
|
|
| 14.08.2011, 02:14 | |
|
Хранение в map указателя на функцию-член шаблонного класса Объявление шаблона класса, а в классе объявляется массив шаблонного типаа
Использование фабрики для шаблонного класса
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|