Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2014, 14:24   #1
A_D
Новичок
Джуниор
 
Регистрация: 20.05.2014
Сообщений: 2
По умолчанию Шаблоны (параметризованные типы) с++

Опишите параметризованный класс очередь элементов (параметр – тип).

пример программы, создающей параметризованную очередь, размеры которой ограничены и задаются конструктором.она описывает очередь или нет?
// очередь элементов типа Qtype

Код:
#include <conio.h> //библиотека консольного ввода-вывода

#include <iostream.h> //библиотека потокового ввода-вывода

#include <stdlib.h> //стандартная библиотека

 

template <class Qtype> class queue

{

Qtype *q; // массив элементов очереди

int sloc, rloc; // последний записанный элемент

// и последний прочитанный

int length; // размер очереди

public:

queue(int size); // конструктор

~queue() { delete [] q;} //деструктор

void qstore(Qtype i); //запись в конец очереди

Qtype qretrieve(); // получение первого элемента очереди

};

// конструктор

template <class Qtype>

queue <Qtype>:: queue(int size)

{

size++; // размер на 1 больше

q = new Qtype[size]; //выделим память

if(!q) //если не удалось выделить память

{

cout << "\nнет памяти для очереди"; exit(1);

}

length = size; //длина очереди

sloc = rloc = 0; // начало и конец очереди

}

// запись в очередь

template <class Qtype>

void queue <Qtype>:: qstore(Qtype i)

{

if(sloc+1 == length) //если нельзя сместить указатель на конец

{

cout << "Очередь переполнена\n";

return;

}

sloc++; //смещаем указатель

q[sloc] = i; //записываем элемент

}

// чтение и удаление из очереди

template <class Qtype>

Qtype queue <Qtype> :: qretrieve()

{

if(rloc == sloc) //если указатель на конец равен указателю на начало

{

cout << "\nОчередь пуста ";

return 0;

}

rloc++; return q[rloc];

}

Последний раз редактировалось Stilet; 20.05.2014 в 20:23.
A_D вне форума Ответить с цитированием
Старый 21.05.2014, 12:08   #2
A_D
Новичок
Джуниор
 
Регистрация: 20.05.2014
Сообщений: 2
По умолчанию

короче нужно создать шаблон для очереди с параметрами..а не использовать шаблоны готовые.я только вхожу в эту среду по этому пока что понятия не имею о чем речь есть варианты?
A_D вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MVC: Параметризованные представления Cannibal Помощь студентам 0 04.02.2014 20:00
шаблоны InKo1 Общие вопросы C/C++ 3 05.11.2012 01:54
C# Интерфейсы и параметризованные коллекции, InnaSh Помощь студентам 0 29.04.2012 00:14
Шаблоны С++ Secc Помощь студентам 4 27.12.2009 17:35