Индексирование
Категория реферата: Рефераты по информатике, программированию
Теги реферата: сочинения по литературе, сжатое изложение
Добавил(а) на сайт: Федоров.
1 2 | Следующая страница реферата
Индексирование
Чтобы задать смысл индексов для объектов класса используется функция operator[]. Второй параметр (индекс) функции operator[] может быть любого типа. Это позволяет определять ассоциативные массивы и т.п. В качестве примера давайте перепишем пример , где при написании небольшой программы для подсчета числа вхождений слов в файле применялся ассоциативный массив. Там использовалась функция. Здесь определяется надлежащий тип ассоциативного массива:
struct pair {
char* name;
int val;
};
class assoc {
pair* vec;
int max;
int free;
public:
assoc(int);
int& operator[](char*);
void print_all();
};
В assoc хранится вектор пар pair длины max. Индекс первого неиспользованного элемента вектора находится в free. Конструктор выглядит так:
assoc::assoc(int s)
{
max = (s<16) ? s : 16;
free = 0;
vec = new pair[max];
}
При реализации применяется все тот же простой и неэффективный метод поиска. Однако при переполнении assoc увеличивается:
#include
int assoc::operator[](char* p)
/*
Рекомендуем скачать другие рефераты по теме: продукт реферат, европа реферат.
1 2 | Следующая страница реферата