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

Использование указателя на объект шаблонного класса в шаблонном классе. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Точка выхода в вижуал С++ 2010 http://www.cyberforum.ru/cpp-beginners/thread341305.html
В сях я нуб полнейший%-), но быстро усовершенствуюсь, и решил освоить этот язык. Вроде для начала все раздуплил. Создал ЦЛР проэкт и давай накидывать туды всякой всячины (ну типа интерфейс замутил...
C++ Unsigned integer 24 bit Как можно объявить беззнаковый integer размером в 24 бита? Если я объявлю его как битовое поле в структуре, например так: struct rgb { unsigned r:24; unsigned g:24; unsigned... http://www.cyberforum.ru/cpp-beginners/thread341301.html
Массив функций C++
Есть функция: bool sota(a& d1, a& d2) {return 1;} Я вызываю её вот так: sort(mas->begin(), mas->end(), sota); Мне нужно сделать массив из 10 функций sota, с разными значениями return. К...
C++ Поиск символа на консоли
Всем привет. Допустим я поставил где-то на консоли символ при помощи функции SetConsoleCursorPosition(), потом в какой-то момент мне нужно найти указаный символ и затереть его, есть ли такая функция...
C++ Вопрос про catch и delete http://www.cyberforum.ru/cpp-beginners/thread341254.html
по какой причине данная операция совершается успешно? ведь указатель равен 0.
C++ Захват текста под курсором мыши Здравствуйте. Возникла такая проблема: надо в текстовом редакторе (например TMemo) получить слово на которое указывает курсор мыши, затем после некоторых преобразований (перевод слова) тут же вывести... подробнее

Показать сообщение отдельно
gretham
19 / 19 / 1
Регистрация: 12.08.2011
Сообщений: 59

Использование указателя на объект шаблонного класса в шаблонном классе. - C++

12.08.2011, 10:15. Просмотров 3368. Ответов 26
Метки (Все метки)

Всем привет!
Мне нужно реализовать граф. Начал с вершин и ребер, причем и ребра и вершины - шаблонные классы, для того чтобы и ребро и вершина могли содержать разные данные.
В ребре указатели на 2 вершины.

Класс вершины:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
template <class T> class Vertex {
        private: 
            char* name;
            T data;
            int index;
        public: 
            Vertex();
            Vertex(char* nam, T dat, int ind);
            ~Vertex();
            char* getName(); 
            T getData(); //возвращает данные, связанные с вершиной,
            void setName(char *nam); //задает имя вершины,
            void setData(T dat); //записывает данные data в дескриптор вершины.
    };
Класс ребра:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
template <class TT>
class Edge {
    private:
        Vertex *v1, *v2;
        int w;
    public:
        Edge(Vertex *va, Vertex *vb) {
            v1 = va;
            v2 = vb;
        }
            Edge(Vertex *va, Vertex *vb, int ww) {
            v1 = va;
            v2 = vb;
            w = ww;
           }
           Edge(Vertex *va, Vertex *vb, int ww, TT dat) {
            v1 = va;
            v2 = vb;
            w = ww;
            data = dat;
           }
           ~Edge();
        
           int getW();
           void setW(int ww);
           TT getData();
           void setData(TT dat);
};
При попытке создать ребро с двумя ребрами:
C++
1
2
3
Vertex<int> e1("parampampam", 123, 0);
Vertex<int> e2("parampampam", 123, 1);
Edge<int> rebro(&e1, &e2);
Появляется вот такая ошибка:


1>c:\users\артем\documents\visual studio 2010\projects\kp2\kp2\Vertex.cpp(6): error C2955: Vertex: для использования класса шаблон требуется список аргументов шаблон


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