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

UptoLike

Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
friend ostream& operator <<
(ostream&, MatrixElement&);
friend ostream& operator << (ostream&, MatrixList&);
};
// класс одного элемента списка
class ListElement
{
private:
// элемент матрицы
MatrixElement a;
// следующий элемент списка
ListElement* next;
friend class MatrixList;
public:
// конструктор одного элемента списка
ListElement(int, int, double);
// дружественные функции ввода/вывода элемента списка
friend ostream& operator << (ostream&, MatrixList&);
friend ostream& operator << (ostream&, ListElement&);
};
// класс разреженной матрицы
class MatrixList
{
private:
// заголовок списка
ListElement* head;
// размеры матрицы
int m,n;
// количество ненулевых элементов матрицы
int count;
public:
// конструктор разреженной матрицы
MatrixList(int, int);
// конструктор копирования
MatrixList(const MatrixList&);
// деструктор матрицы
~MatrixList();
// метод уничтожения списка элементов матрицы
void DestroyList();
// метод добавления нового элемента в список
void AddElement(int, int, double);
// метод удаления элемента из списка
void DeleteElement(int, int);
// оператор сложения двух матриц
MatrixList operator + (MatrixList&);
// оператор присваивания матрицы
MatrixList operator = (MatrixList&);
168
                               Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
           friend ostream& operator <<
                                    (ostream&, MatrixElement&);
           friend ostream& operator << (ostream&, MatrixList&);
      };

      // класс одного элемента списка
      class ListElement
      {
      private:
           // элемент матрицы
           MatrixElement a;
           // следующий элемент списка
           ListElement* next;
           friend class MatrixList;
      public:
           // конструктор одного элемента списка
           ListElement(int, int, double);
           // дружественные функции ввода/вывода элемента списка
           friend ostream& operator << (ostream&, MatrixList&);
           friend ostream& operator << (ostream&, ListElement&);
      };

      // класс разреженной матрицы
      class MatrixList
      {
      private:
           // заголовок списка
           ListElement* head;
           // размеры матрицы
           int m,n;
           // количество ненулевых элементов матрицы
           int count;
      public:
           // конструктор разреженной матрицы
           MatrixList(int, int);
           // конструктор копирования
           MatrixList(const MatrixList&);
           // деструктор матрицы
           ~MatrixList();
           // метод уничтожения списка элементов матрицы
           void DestroyList();
           // метод добавления нового элемента в список
           void AddElement(int, int, double);
           // метод удаления элемента из списка
           void DeleteElement(int, int);
           // оператор сложения двух матриц
           MatrixList operator + (MatrixList&);
           // оператор присваивания матрицы
           MatrixList operator = (MatrixList&);

168