![]() |
|
||||||||||
|
|||||
|
[+ 06.08.11]
Регистрация: Jul 2011
Сообщений: 79
|
Здравствуйте.
Нужно реализовать дерево. Что-то вроде 2-3 дерева,но количество элементов заранее неизвестно. Структура примерна такова. класс граф хранит в себе 2 указателя на голову и указатель для работы с графом. класс вершина хранит в себе данные и список вершин которые исходят из этой вершин. Для хранения списка вершин я выбрал список,линейный однонаправленный,но возникла проблема с реализацией списка,а точнее с его типизированием. В С++ есть шаблоны,как их реализовать в AS3? Если нужны коды мои,могу скинуть сюда если попросите. Проблема возникла,когда я попытался произвести перебор по графу. Элемент списка имеет метод а мне нужно чтобы он возвращал тип вершины Vertex. Происходит не соответствие типов и программа не работает =/ |
|
|||||
|
Что мешает создать класс Vertex и у наследоваться от Object, это и будит ваш тип данных.
__________________
Спросишь, дурак на минуту. Если не спросишь, дурак на всю жизнь! |
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Шаблонов нет. Храните Object'ы и используйте приведение типов (от Object к Vertex , например).
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. Последний раз редактировалось -De-; 03.10.2011 в 09:30. |
|
|||||
|
[+ 06.08.11]
Регистрация: Jul 2011
Сообщений: 79
|
Так а как сделать приведение от Object к Vertex? Я vertex не наследую от Object.
ТО бишь мне нужно отнаследовать vertex от object? а тип списка какой делать? я просто в списке завёл конструкцию type:Class; и при создании списка передаю ему этот тип. |
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Неправда =) В as3 всё от него наследуется)
Операторы as и is - азбука, надо иметь представление. Можно ещё погуглить as3 RTTI.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
|
[+ 06.08.11]
Регистрация: Jul 2011
Сообщений: 79
|
Если бы я наследовал то у меня не вылетала ошибка
"Graph.as(29): col: 44 Error: Implicit coercion of a value with static type Object to a possibly unrelated type Vertex. " когда я где temp:Vertex а функция public class L1Elem { private var target:Object; public var next:L1Elem; ...... public function getData():Object { return this.target; } Я программирую в основном на С++ Java и там такого нет ![]() Просто решил попробовать написать ходилку на AS3. Хотя можно конечно Java applet сделать. |
|
|||||
|
__________________
...вселенская грусть |
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Вы путаете апкаст и даункаст. В as3, c++ и java, если A наследуется от B, то А всегда скастуется к В, а наоборот - нет, надо руками, иногда с проверками. У нас А - Vector, B - Object. В Java точно так же всё наследуется от Object.
Применительно к вашей ситуации рекомендую учиться пользоваться гуглом - вбейте туда "as3 оператор as", "as3 оператор is".
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:14. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|