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

Реализация Fifo с разными типами данных - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Разделить строку по пробелам (без потоков) http://www.cyberforum.ru/cpp-beginners/thread1139995.html
Здравствуйте. Я решаю задачку из книги, надо написать небольшую оболочку. Использую Linux. Думаю над тем, как разделить строку (команду), введённую пользователем так, чтобы в одну переменную (command) записалось название команды, а в другую (parameters) - операнды. Пока что имею следующий код: #include <iostream> #include <unistd.h> // execve() #include <sys/wait.h> // waitpid() using...
C++ Все слова строки, которые начинаются с цифры отсортировать по убыванию Задана строка, состоящая из символов. Символы объединяются в слова. Слова друг от друга отделяются одним или несколькими пробелами. В конце текста ставится точка. Текст содержит не более 255 символов. Выполнить ввод строки и обработку строки: Все слова строки, которые начинаются с цифры отсортировать по убыванию. http://www.cyberforum.ru/cpp-beginners/thread1139981.html
Преобразование и вывод массива C++
Есть задание: В одномерном массиве из N вещественных элементов, вычислить: • количество элементов массива, меньших С; • сумму целых частей элементов массива, расположенных после последнего отрицательного элемента. • Преобразовать массив таким образом, чтобы сначала располагались все элементы, отличающиеся от максимального, не более чем на 20%, а потом – все остальные. Помогите с...
C++ Собственная реализация контейнера для хранения значений произвольного типа
Дали следующее задание. Не совсем понимаю с чего начинать и как дальше быть. Сказали, что нужно через шаблоны сделать. Если у кого-нибудь из вас есть идеи, либо же в интернете есть примеры одного из вариантов, не важно какого. То будьте любезны предоставьте любую информацию. С меня много благодарностей, респект и уважуха. Задание: Создать собственную реализацию контейнера для хранения...
C++ Не понятны размеры массива (циклы) http://www.cyberforum.ru/cpp-beginners/thread1139968.html
for(int i=0;i<b-j;i++) for(int j=0;j<a-i-1;j++) for(q=0;q!=a-i-1;q++) cout<<mas3<<"."; какой сдесь размер массива??
C++ Создание динамического двумерного массива void CreateArray(double **DynamicArray, int n){ //??? double **DynamicArray = new double* ; for (int Count = 0; Count < 2*n; Count++) DynamicArray = new double ; } В чем, собственно, тут ошибка? Подскажите пожалуйста, а то долбусь и не могу понять, хотя знаю что где-то сильно туплю) подробнее

Показать сообщение отдельно
monolit
180 / 180 / 21
Регистрация: 24.03.2011
Сообщений: 647
Завершенные тесты: 1
06.04.2014, 22:05     Реализация Fifo с разными типами данных
Каких простых классов, о чем вы?

Есть абстрактный класс CData, от него наследуются классы CByte, CWord, CNumber.
Нужно создать класс CFifo (очередь для объектов выше перечисленных классов).
В вышеприведенном коде непонятно что (точнее понятно, но с заданием никак не связано).

Вот интерфейс примерный того, что нужно (буду использовать stl, не пугатесь=) и замените тем, что нужно):
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
class CFifo {
   list<CData*> mQueue;
public:
  CFifo& operator<<(CData* val)
  {
    mQueue.push_back(val);
    return *this;
  }
 
  CTest& operator>>(CData*& a) // некогда думать, пусть так
  {
//тут всякие проверки на существование элементов, если нужно, учесть и т.п.
    a = mQueue.front();
   mQueue.pop_front();
    return *this;
  }
};
 
int main()
{
   CFifo queue;
   CByte* byte = new CByte();
   CWord* word = new CWord();
   queue << byte << word;
 
   CData* dst1;
   CData* dst2;
  obj >> dst1>> dst2;
 if (dynamic_cast<CByte*>(dst1)) {//такой тип
  //что-то делаем
 }
   
   return 0;
}
Как-то так, если схематично. Так что если что-то выглядит сложным, не значит, что это решенное задание)
Хотя может это известно, тогда извиняюсь)
 
Текущее время: 04:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru