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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 5.00
kodermax
Сообщений: n/a
#1

Инстанцирование шаблона - C++

03.05.2011, 23:45. Просмотров 1629. Ответов 3
Метки нет (Все метки)

Есть шаблонная очередь с использованием vector
Как инстанцировать для своего класса, представляющего строку, изготовленную из vector<char>?
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
template <class T> class mydeque {
protected:
       vector<T> first; //первый вектор - используется для вставки в начало очереди
       vector<T> second; //второй вектор - используется для вставки в конец очереди
public:
       mydeque()
       {
       };
       ~mydeque()
       {
       };
   void shift(const T& val)  // функция добавления элемента в начало очереди
   {
       first.push_back(val);
   }
   void push(const T& val)  //функция добавления элемента в конец очереди
   {
       second.push_back(val);
   }
   void print() 
   {
       vector<T>::iterator cur;
       for (cur=first.begin();cur<first.end();cur++)
       cout<<*cur;
       for (cur=second.begin();cur<second.end();cur++)
       cout<<*cur;
   }
private:
};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2011, 23:45     Инстанцирование шаблона
Посмотрите здесь:

Инстанцирование шаблона - C++
Существует шаблон следующего вида: template&lt;class T, int size&gt; void foo(T (&amp;array)) { cout &lt;&lt; size &lt;&lt; endl; } И следующий...

Инстанцирование шаблона во время выполнения - C++
Добрый вечер! Компилятор требует константное выражение передаваемое в шаблон, как это можно обойти? мб с помощью каких то заклинаний над...

Инстанцирование шаблона для различных типов - C++
Помогите пожалуйста с программой... Нужно создать шаблон класса, для работы со структурой произвольного типа данных. В функции main()...

Инстанцирование шаблонного класса - C++
Уважаемые форумчане! Помогите в не сложном, как я полагаю, для Вас вопросе. Имеется шаблонный класс-контейнер оформленный в виде модуля...

специализация шаблона - C++
начал разбираться с шаблонами. если есть структура, и одна функция именно с int должна работать по особенному, написать можно вот так. ...

Параметры шаблона - C++
как в общем можно объяснить то что находиться в угловых скобках после template, я понимаю что template &lt;список параметров&gt;

Наследование шаблона - C++
Есть два шаблона Array and NumericArray Хочется реализовать между ними иерархию типа NumericArray диревативынй класс а Array...

Создание шаблона - C++
Задача - сделать шаблон контейнера. То до чего додумался: #include &quot;stdafx.h&quot; #ifndef _TEMPL_H #define _TEMPL_H ...

Ошибка шаблона - C++
Здравствуйте. Для шаблонного класса надо определить, что не использован тип void: template&lt;typename Type&gt; struct IsNoVoid { ...

Параметры шаблона - C++
Доброго всем вечера. Вопрос по теории, который не выходит нагуглить. К примеру, нужно хранить статический массив интов с точно известным...

Специализация шаблона - C++
Здравствуйте! Задача: Создайте шаблонную функцию maxn(), которая принимает в качестве аргумента массив элементов типа Т и целое...

параметры шаблона - C++
1) работа с параметрами шаблона; 2) создайте класс для обьекта типа &quot;муз. проигрыватель&quot;.постройте UMLдиаграмму. напишите реализацию на...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryLaptev
Эксперт С++
1035 / 814 / 48
Регистрация: 30.04.2011
Сообщений: 1,658
04.05.2011, 01:13     Инстанцирование шаблона #2
Очередь, это контейнер, в котором элементы добавляются в конце, а удаляются спереди. Как в любой реальной очереди.
Поэтому вектор должен быть один.
А операции должны быть такие:
1. Добавить элемент в очередь (в конец) - это v.push_back()
2. Удалить элемент из очереди (первый) - это v.erase(v.begin())
3. Проверить, не пуста ли очередь - это v.empty()
Ну, еще можно доступ к первому и последнему элементу для замены значений сделать.
И для отладки - вывод всего контейнера.

Это исправь, потом про инстанцирование поговорим.
kodermax
Сообщений: n/a
04.05.2011, 07:19     Инстанцирование шаблона #3
Я понимаю что один.
А в задании требуют два.
Создать шаблонную очередь с использованием STL контейнера vector. Из двух векторов сделать одну очередь, так, что вставка в начало очереди – это вставка в конец первого вектора, а вставка в конец очереди – вставка в конец второго вектора. Определить в нем свои функции вставки в начало и в конец.
Veyron
106 / 106 / 4
Регистрация: 02.06.2009
Сообщений: 579
04.05.2011, 08:17     Инстанцирование шаблона #4
Цитата Сообщение от ValeryLaptev Посмотреть сообщение
Очередь, это контейнер, в котором элементы добавляются в конце, а удаляются спереди. Как в любой реальной очереди.
Цитата Сообщение от kodermax Посмотреть сообщение
Создать шаблонную очередь с использованием STL контейнера vector. Из двух векторов сделать одну очередь, так, что вставка в начало очереди – это вставка в конец первого вектора, а вставка в конец очереди – вставка в конец второго вектора.
По ходу требуют не совсем очередь, а дек.
Yandex
Объявления
04.05.2011, 08:17     Инстанцирование шаблона
Ответ Создать тему
Опции темы

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