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

UptoLike

Объектно-ориентированное программирование на С++
Element * next;
public:
// конструктор элемента списка
Element(int, Element* =NULL);
// метод получения информационного
// поля элемента списка
int GetValue();
// метод установки нового значения
// информационного поля
void SetValue(int);
// метод получения указателя
// на следующий элемент списка
Element* GetPointer();
// метод установки нового значения
// адреса следующего элемента
void SetPointer(Element*);
};
protected:
// заголовок списка
Element* head;
public:
// конструктор создания пустого списка
List();
// конструктор копирования
List(const List&);
// деструктор
~List();
// метод проверки пустоты списка
bool IsEmpty();
// метод добавления элемента в заданную позицию
void AddList(int, int);
// метод удаления элемента из списка по ключу
void DeleteByKey(int);
// метод удаления элемента,
// находящегося в заданной позиции
int DeleteByPosition(int);
// дружественная функция печати списка
friend ostream& operator<<(ostream&, List&);
};
При таком объявлении классов обращение извне к вложенному
классу осуществляется с использованием операции области видимости
«имя_внешнего_класса::имя_внутреннего_класса». В нашем
случае List::Element. Это происходит и при определении методов
внутреннего класса за его пределами:
// конструктор элемента списка
153
                          Объектно-ориентированное программирование на С++
              Element * next;
         public:
              // конструктор элемента списка
              Element(int, Element* =NULL);
              // метод получения информационного
              // поля элемента списка
              int GetValue();
              // метод установки нового значения
              // информационного поля
              void SetValue(int);
              // метод получения указателя
              // на следующий элемент списка
              Element* GetPointer();
              // метод установки нового значения
              // адреса следующего элемента
              void SetPointer(Element*);
         };

    protected:
         // заголовок списка
         Element* head;
    public:
         // конструктор создания пустого списка
         List();
         // конструктор копирования
         List(const List&);
         // деструктор
         ~List();
         // метод проверки пустоты списка
         bool IsEmpty();
         // метод добавления элемента в заданную позицию
         void AddList(int, int);
         // метод удаления элемента из списка по ключу
         void DeleteByKey(int);
         // метод удаления элемента,
         // находящегося в заданной позиции
         int DeleteByPosition(int);
         // дружественная функция печати списка
         friend ostream& operator<<(ostream&, List&);
    };
    При таком объявлении классов обращение извне к вложенному
классу осуществляется с использованием операции области видимости
«имя_внешнего_класса::имя_внутреннего_класса». В нашем
случае – List::Element. Это происходит и при определении методов
внутреннего класса за его пределами:
    // конструктор элемента списка
                                                                       153