Задание 2

Создать класс матрица Данный класс содержит указатель на float, размер строк и столбцов и состояние ошибки. Определить конструктор без параметров, конструктор с одним параметром и конструктор с двумя параметрами, деструктор. Определить методы доступа: возвращать значение элемента (i,j) и адрес этого элемента. Определить функцию печати. Определить функции сложения и вычитания (матрицы с матрицей), умножение матрицы на матрицу. Определить умножение матрицы на число. Проверить работу этого класса. В случае нехватки памяти, несоответствия размерностей, выхода за пределы устанавливать код ошибки.

Задание 3

Создать класс типа - стек. Функции-члены вставляют элемент в стек, вытаскивают элемент из стека. Проверяют вершину стека.

Классы и методы

Инкапсуляция

В программировании, основанном на абстрактных типах данных, информация сознательно прячется в небольшой части программы. Каждый объект имеет два лица. С внешней точки зрения АТД представляет собой совокупность операций, которые определяют поведение абстракций. Программист, который определяет этот АТД, видит значения переменных, которые используются для поддержания внутреннего состояния объекта.
Например, для абстрактного типа данных stack пользователь видит только описание допустимых операций – pop, push, top. С другой стороны программисту, реализующему stack, необходимо манипулировать конкретными структурами данных. Конкретные детали инкапсулированы в более абстрактный объект.
Каждый экземпляр имеет свою собственную совокупность переменных. Эти значения не должны изменяться клиентами напрямую, а только с помощью методов, ассоциированных с классом.
Объект является комбинацией состояния и поведения. Состояние описывается переменными экземпляра, поведение характеризуется методами. Снаружи клиенты могут узнать только о поведении объектов. Изнутри доступна полная информация о том, как методы обеспечивают необходимое поведение, изменяют состояние и взаимодействуют с остальными объектами.