#include <iostream>
#include "99_Container.h"
#include "99_Mem.h"
#include "Queue.h"
using namespace std;
int main(int argc, const char *argv[]) {
Mem mem(0);
Queue l(mem); // Variable type 'Queue' is an abstract class ?
l.insert(NULL, NULL, 0);
cout << "l.empty()=" << l.empty() << endl;
cout << "Hello, World!\n";
return 0;
}
#pragma once
#include "Queue.h"
class Queue : public AbstractQueue {
public:
Queue(MemoryManager &mem) : AbstractQueue(mem) {}
/**
******************* class Queue
**/
//Поиск элемента в контейнере. Возвращает true, если контейнер содержит
//элемент, и false в противном случае.
bool search(void *elem, size_t size) { return false; }
/**
* Queue_End
**/
/**
******************* class AbstractQueue
**/
// Добавление элемента в начало контейнера.
// В случае успешного добавления функция возвращает значение 0, в случае
// неудачи 1.
int push(void *elem, size_t elemSize) { return 0; }
// Удаление элемента из начала контейнера.
int pop() { return 0; }
// Функция явно возвращает указатель на элемент, находящийся в начале
// контейнера.
// и не явно возвращает размер данных
void *front(size_t &size) { return NULL; }
// Функция явно возвращает указатель на элемент, находящийся в конеце
// контейнера.
// и неявно возвращает размер данных
void *back(size_t &size) { return NULL; };
// Добавление элемента в позицию,
// на которую указывает итератор iter.
// В случае успешного добавления функция возвращает значение 0, в случае
// неудачи 1.
int insert(Container::Iterator *iter, void *elem, size_t elemSize) {
return 0;
}
/**
* AbstractQueue_End
**/
/**
******************* class Container
**/
// Функция возвращает значение, равное количеству элементов в контейнере.
int size() { return 0; }
// Функция возвращает значение, равное максимальной вместимости контейнера в
// байтах.
// virtual size_t max_bytes() { return 0; }
//Функция возвращает указатель на итератор, указывающий на первый найденный в
//контейнере элемент. Если элемент не найден, возвращается пустой указатель.
Container::Iterator *find(void *elem, size_t size) { return NULL; }
// Создание итератора, соответствующего данному типу контейнера.
Container::Iterator *newIterator() { return NULL; }
// Удаление всех элементов из контейнера.
void clear() {}
// Возвращает итератор на первый элемент контейнера.
Container::Iterator *begin() { return NULL; }
// Возвращает итератор на элемент, следующий за последним элементом
// контейнера.
Container::Iterator *end() { return NULL; }
// если контейнер пуст возвращает true, иначе false
bool empty() { return true; }
// Удаление элемента из позиции, на которую указывает итератор iter.
void remove(Container::Iterator *iter) {}
/**
* Container_End
**/
};