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

UptoLike

Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
следующий элемент списка. Для работы с таким списком определим два
класса: класс отдельного элемента и класс списка в целом.
Класс элемента списка (Element) должен предоставлять
возможность хранения информационного поля элемента, указателя на
следующий элемент списка, а также иметь методы для получения и
задания новых значений структурным свойствам класса. Таким образом,
класс Element имеет следующее объявление:
class Element
{
// информационное поле списка
int info;
// указатель на следующий элемент списка
Element * next;
public:
// конструктор элемента списка
Element(int, Element* = NULL);
// метод получения информационного поля
// элемента списка
int GetValue();
// метод установки нового значения
// информационного поля
void SetValue(int);
// метод получения указателя
// на следующий элемент списка
Element* GetPointer();
// метод установки нового значения
// адреса следующего элемента
void SetPointer(Element*);
};
Этот класс выполняет вспомогательную роль при определении
класса всего списка. Поэтому отдельно от класса-списка он используется
крайне редко. В таких случаях существует возможность связать два
класса в единое целое, поместив объявление класса Element внутрь
класса-списка (List). Таким образом, будет использоваться вложенный
класс. Объявление класса List приведем далее:
class List
{
// вложенный класс элемента списка
class Element
{
// информационное поле списка
int info;
// указатель на следующий элемент списка
152
                               Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
следующий элемент списка. Для работы с таким списком определим два
класса: класс отдельного элемента и класс списка в целом.
    Класс элемента списка (Element) должен предоставлять
возможность хранения информационного поля элемента, указателя на
следующий элемент списка, а также иметь методы для получения и
задания новых значений структурным свойствам класса. Таким образом,
класс Element имеет следующее объявление:
      class Element
      {
           // информационное поле списка
           int info;
           // указатель на следующий элемент списка
           Element * next;
      public:
           // конструктор элемента списка
           Element(int, Element* = NULL);
           // метод получения информационного поля
           // элемента списка
           int GetValue();
           // метод установки нового значения
           // информационного поля
           void SetValue(int);
           // метод получения указателя
           // на следующий элемент списка
           Element* GetPointer();
           // метод установки нового значения
           // адреса следующего элемента
           void SetPointer(Element*);
      };

    Этот класс выполняет вспомогательную роль при определении
класса всего списка. Поэтому отдельно от класса-списка он используется
крайне редко. В таких случаях существует возможность связать два
класса в единое целое, поместив объявление класса Element внутрь
класса-списка (List). Таким образом, будет использоваться вложенный
класс. Объявление класса List приведем далее:
      class List
      {
           // вложенный класс элемента списка
           class Element
           {
                // информационное поле списка
                int info;
                // указатель на следующий элемент списка


152