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

Шаблон очереди. В чем ошибка? - C++

Восстановить пароль Регистрация
 
Rika23
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 6
27.02.2013, 15:02     Шаблон очереди. В чем ошибка? #1
Здравствуйте. Помогите, пожалуйста, с программой на С++. Условие звучит так:

Разработать шаблон класса для работы с двусторонней очередью (деком), выполненной в виде двусвязного списка. Для разрабатываемого шаблона обязательно определите:
конструктор по умолчанию, конструктор копирования, конструктор с параметрами (массив объектов), деструктор;
оператор присваивания, оператор [ ] (доступ к элементу по его номеру с начала очереди);
добавление элемента в начало или конец , удаление элемента из начала или конца ;
метод, выводящий содержимое очереди в указанный поток от начала к концу, метод, выводящий содержимое очереди в указанный поток от конца к началу,
поиск номера элемента в очереди.
Пользовательский тип – авто на ремонте в СТО (госномер, марка, дата, стоимость).

Начала писать код, но что-то не получается с конструктором. Никак не пойму, в чем дело. Вот код:
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
//Deque.h
        #ifndef _DEQUE_H_
        #define _DEQUE_H_
        #include<iostream>
 
        template <class T>
        class Deque
        {
        private:
        struct Node
        {
          Node* next;
          Node* previous;
          T info;
          Node(T data=0){ info=data; next=NULL; previous=NULL;}
        };
        Node *head;
        Node *tail;
        int count;
 
        public:
        Deque();
        //Deque(const Deque& D);
        ~Deque();
        bool isEmpty() const;
        //void push_front(T data);
 
        int size() { return count;}
 
 
        };
        #endif
        //Deque.cpp
        #include"Deque.h"
        #include<iostream>
        using namespace std;
        template <class T>  Deque <T> ::Deque(): head(0), tail(0), count(0)
        {}
 
        template <class T>  Deque <T> :: ~Deque()
        {
        while (head!=0)
             {
                 tail=head->next;
                 delete head;
                 head=tail;
             }
        }
        template <class T> bool Deque <T> ::isEmpty() const
        {
        return head==0;
        }
        //main.cpp
        #include<iostream>
        #include"Deque.h"
        using namespace std;
        int main()
        {
        Deque <int> d;
        return 0;
        }
Компилятор выдает:
Error 1 error LNK2019: unresolved external symbol "public: __thiscall Deque<int>::~Deque<int>(void)" (??1?$Deque@H@@QAE@XZ) referenced in function _main D:\!_Private\VS C++\UP\sln_templates\pr1\1.obj pr1

Error 2 error LNK2019: unresolved external symbol "public: __thiscall Deque<int>:eque<int>(void)" (??0?$Deque@H@@QAE@XZ) referenced in function _main D:\!_Private\VS C++\UP\sln_templates\pr1\1.obj pr1

Error 3 error LNK1120: 2 unresolved externals D:\!_Private\VS C++\UP\sln_templates\Debug\pr1.exe 1 1 pr1
Что не так?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2013, 15:02     Шаблон очереди. В чем ошибка?
Посмотрите здесь:

Шаблон очереди C++
Создать шаблон функции для построения очереди C++
Шаблон очереди C++
шаблон очереди C++
C++ Разработать программу формирования очереди, содержащей целые числа, и упорядочивания по возрастанию элементов в этой очереди.
Шаблон класса,ошибка TEMPLATE C++
шаблон контейнера, ошибка C++
C++ Шаблон очереди с приоритетом и вложенным классом

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ITcrusader
Эксперт C++
 Аватар для ITcrusader
176 / 162 / 8
Регистрация: 12.02.2013
Сообщений: 410
27.02.2013, 15:29     Шаблон очереди. В чем ошибка? #2
Нельзя разделять определение шаблонного класса и объявление по разным файлам. Короче, пихай все в Deque.h, и его подключай к main.cpp

Бесит этот нюанс
Rika23
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 6
27.02.2013, 15:40  [ТС]     Шаблон очереди. В чем ошибка? #3
Ой, точно) Теперь все вроде работает. Большое спасибо)
Yandex
Объявления
27.02.2013, 15:40     Шаблон очереди. В чем ошибка?
Ответ Создать тему
Опции темы

Текущее время: 16:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru