Объектно-ориентированное программирование на C++. Андрианова А.А - 181 стр.

UptoLike

Объектно-ориентированное программирование на С++
};
// класс элемента списка
class Element
{
private:
// запись телефонной книги
Info abonent;
// указатель на следующую запись в списке
Element* next;
public:
// конструктор элемента списка
Element(char*, char*);
// дружественные классы и функции
friend class List;
friend ostream& operator << (ostream&, List&);
};
// класс группы хэш-таблицы в виде списка
class List
{
private:
// указатели на первый и последний элементы списка
Element* head, *tail;
public:
// конструктор создания пустого списка
List();
// деструктор списка
~List();
// метод добавления в конец новой записи об абоненте
void PushAbonent(char*, char*);
// метод удаления из списка по имени абонента
void DeleteAbonent(char*);
// метод поиска элемента списка по имени абонента
bool FindAbonent(char*, Info&);
// дружественные функции вывода
friend ostream& operator << (ostream&, List&);
friend ostream& operator << (ostream&, HashTable&);
};
// класс хэш-таблицы в виде массива списков
class HashTable
{
private:
int n; // количество групп в хэш-таблице
List* segments; // указатель на массив групп
public:
// конструктор хэш-таблицы по заданному числу групп
181
                      Объектно-ориентированное программирование на С++
 };

 // класс элемента списка
 class Element
 {
 private:
      // запись телефонной книги
      Info abonent;
      // указатель на следующую запись в списке
      Element* next;
 public:
      // конструктор элемента списка
      Element(char*, char*);
      // дружественные классы и функции
      friend class List;
      friend ostream& operator << (ostream&, List&);
 };

 // класс группы хэш-таблицы в виде списка
 class List
 {
 private:
      // указатели на первый и последний элементы списка
      Element* head, *tail;
 public:
      // конструктор создания пустого списка
      List();
      // деструктор списка
      ~List();
      // метод добавления в конец новой записи об абоненте
      void PushAbonent(char*, char*);
      // метод удаления из списка по имени абонента
      void DeleteAbonent(char*);
      // метод поиска элемента списка по имени абонента
      bool FindAbonent(char*, Info&);
      // дружественные функции вывода
      friend ostream& operator << (ostream&, List&);
      friend ostream& operator << (ostream&, HashTable&);
};

// класс хэш-таблицы в виде массива списков
class HashTable
{
  private:
       int n;         // количество групп в хэш-таблице
       List* segments;     // указатель на массив групп
  public:
       // конструктор хэш-таблицы по заданному числу групп

                                                                  181