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

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

Войти
Регистрация
Восстановить пароль
 
mansp
18 / 18 / 0
Регистрация: 07.11.2010
Сообщений: 136
#1

Синтаксис - C++

12.05.2011, 19:11. Просмотров 450. Ответов 0
Метки нет (Все метки)

пишу шаблонный класс итераторов для шаблонного класса дерево
дерево будет у меня состоять из таких элементов
C++
1
2
3
4
5
6
7
8
template<typename T>struct Node
    {
        std::vector<T> Item;
        Node*parent;
        Node*left_son;
        Node*right_brother;
    .....................................
    };
клас дерева будет хранить в себе указатель на коренеть типа нод
все оперции для передвижения по дереву делаются с помощью итераторов но вот столкнулся с проблемой при перегрузке оператора * для итераторов
мой оператор должен возващать вот что
C++
1
return &obj->Item[0];
где obj указатель типа Node<T> на текущий узел дерева,он хранитса в класе итераторов,
можете написать примерный синтакис обьявления пожалуйста...

Добавлено через 1 час 14 минут
а забыл клас дерево
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
template<typename T> class Tree
    {
    protected:
        Node<T>*root;
 
    public:
        Tree();
        Tree(T*data, int size);
        Tree(const Tree& obj);
        Node<T>* _root()const {return root;}
        ~Tree();
        ...............................
    };
клс итераторов
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
template<typename T> class Tree_itrerator : public std::iterator<std::input_iterator_tag, T>
    {
        template<typename T> friend class Tree;
        Node<T>*obj;
        Node<T>*root;
    public:
        
        Tree_itrerator(Node<T>*obj){this->obj=obj; root=get_root();}
        //Tree_itrerator( Tree<T> obj){obj = obj._root(); root = obj._root();}
        Tree_itrerator(){obj=NULL;}
        ~Tree_itrerator(){obj=NULL;root=0;}////..............
        Tree_itrerator(const Tree_itrerator &obj);
...................
Добавлено через 23 минуты
всё оказалось тривиально просто
C++
1
T* operator*(){ return &obj->Item[0]; }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2011, 19:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Синтаксис (C++):

Синтаксис - C++
Кусок кода на C++. Помогите разобраться что означает в данном случае последовательность символов &quot;|=&quot; ? UDF_RC CForm1Class::CForm1(...

Синтаксис - C++
Просмотрел несколько видеоуроков на ютюбе, пользователь использовал строки char s и char *s. Собственно вопрос, в чем различие если имеется...

синтаксис - C++
Только начали изучать С++. До этого писали на Pascal в Lazarus и Delphi. Подскажите, пожалуйста, как правильно задать промежуток в C++,...

Синтаксис - C++
int x = 5; 0 = x+x; Что это такое и почему после этого x равно 10 ? Не понимаю вообще записи. Даже если предположить что x == 0...

Синтаксис в c++ - C++
Для чего в описание класса используется &quot;:: &quot;?

Непонятен синтаксис - C++
Доброго времени суток! Хотелось бы попросить вашего совета. код double **E = new double *; в данном отрывке...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2011, 19:11
Привет! Вот еще темы с ответами:

Синтаксис языка - C++
Добрый день,хочу научиться языку C++,но все время у меня в голове весят вопросы по типу &quot;Что означает это&quot;,&quot;А что это&quot; и т.п. Допустим в...

Непонятный синтаксис. - C++
В VC 2010 вместо int main(int argc, char *argv) написано int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpcmdline,...

Объясните синтаксис! - C++
Часто встречаю в интернете в листингах подобные записи, сама так не пишу, хочется разобраться что это значит?? int N = ( i==0 ? 0 :...

Деревья синтаксис - C++
Добрый день! Есть вот такая штука по деревьям.в case проблема.он орет,что &quot;too few parameters in call to&quot; public: void create(); ...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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