С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Шаблон класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Моделирование СМО http://www.cyberforum.ru/cpp-beginners/thread1054882.html
#include<stdio.h> // Функции потокового ввода - вывода #include<conio.h> // Формирование экракна #include<math.h> // Математические функции...
C++ Задан Массив из N и M Чисел соответственно. Получить объединенный массив, включив в него сначала элементы первого массива, а затем второго Помогите пожалуйста набрать код в с++. Задан Массив из N и M Чисел соответственно. Получить объединенный массив, включив в него сначала элементы первого массива, а затем второго. http://www.cyberforum.ru/cpp-beginners/thread1054874.html
C++ Отсортировать массив по убыванию второй старшей цифры в записи его элементов
Помогите пожалуйста написать коды программ! "Отсортировать массив по убыванию второй старшей цифры в записи его элементов. "
Выполнить сортировку массива с помощью стандартной функции быстрой сортировки qsort C++
Здравствуйте! прошу вас о помощи! помогите пожалуйста с программой! "Выполнить сортировку массива с помощью стандартной функции быстрой сортировки qsort (сstdlib) (написать для нее функцию...
C++ Сходимость ряда http://www.cyberforum.ru/cpp-beginners/thread1054832.html
Подскажите пожалуйста, как мне описать программно следующее задание. Есть ряд.. \frac{1}{x}-\frac{2}{{x}^{2}}-.... \frac{4}{{x}^{3}}-\frac{8}{{x}^{4}}-.... Некое число вводимое...
C++ сортировка массива стуктур посредством указателей Доброго времени суток. Есть у меня 1 задачка: /*Дана целочисленная матрица А = {aij}, где 1<=i<=n; 1<=j<=m; Выбрать строки матрицы, не содержащие нулевых элементов, и отсортировать выбранные... подробнее

Показать сообщение отдельно
Левиафам
33 / 28 / 9
Регистрация: 31.05.2012
Сообщений: 536

Шаблон класса - C++

24.12.2013, 16:06. Просмотров 505. Ответов 10
Метки (Все метки)

Привет товарищи. Тут в общем такая история, запилил шаблонный класс реализующий очередь , который работает на чарах, а вот на целочисленных значениях не хочет, кто подскажет в чем проблема???
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#include <iostream>
#include <cassert> 
#include <conio.h>
using namespace std;
 
 
template<typename T>
class Queue
{
private:
    T *queuePtr;     // указатель на очередь
    const int size;  // максимальное количество элементов в очереди
    int begin,       // начало очереди
        end;         // конец очереди
    int elemCT;      // счетчик элементов
public:
    Queue(int);          // конструктор по умолчанию
    ~Queue();                // деструктор
    void outq(); // удалить элемент из очереди
    void inq(const T &); // добавить элемент в очередь
    void printq();
};
 
// реализация методов шаблона класса Queue
 
// конструктор по умолчанию
template<typename T>
Queue<T>::Queue(int sizeQueue) :
    size(sizeQueue), // инициализация константы
    begin(0), end(0), elemCT(0)
{
    queuePtr = new T[size ];
}
 
 
 
// деструктор класса Queue
template<typename T>
Queue<T>::~Queue()
{
    delete [] queuePtr;
}
 
// функция добавления элемента в очередь
template<typename T>
void Queue<T>::inq(const T &newElem)
{
    // проверяем, ести ли свободное место в очереди
    assert( elemCT < size );
 
    //добавление элемента
    queuePtr[end++] = newElem;
  
    elemCT++;
}
 
 
//функция вывода очереди
template<typename T>
void Queue<T>::printq()
{
    cout << "Очередь: ";
 
    if (end == 0 && begin == 0)
        cout << " пустая\n";
    else
    {
        for (int ix = begin; ix <= end; ix++)
            cout << queuePtr[ix] << " ";
        cout << endl;
    }
}
 
// функция удаления элемента из очереди
template<typename T>
void Queue<T>::outq()
{
    // проверяем, есть ли в очереди элементы
    assert( elemCT > 0 );
    queuePtr[begin]= queuePtr[begin++];
    elemCT--;
}
void main ()
{
    setlocale (LC_ALL, "Russian"); 
 
    Queue<char> myQueue(14); // объект класса очередь
 
    myQueue.printq(); // вывод очереди
 
    int ct = 1;
    char ch;
 
    // добавление элементов в очередь
    while (ct++ < 14)
    {
        cin >> ch;
        myQueue.inq(ch);
    }
 
    myQueue.printq(); // вывод очереди
 
  
    //для примера удаляем 3 элемента из очереди
    myQueue.outq();
    myQueue.outq();
    myQueue.outq();
 
 // вывод очереди
    myQueue.printq(); 
    getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.