Many mathematical problems require the addition, subtraction, and multiplication of two matrices. Write an ADT Matirx. You may use the following class definition. const int Max_Rows = 10; const int Max_Cols = 10; class MatrixType { public: MatrixType(); void MakeEmpty(); void SetSize(int rowSize, int colSize); void StoreItem(int item, int row, int col); void Add(MatirxType otherOperand, MatrixType& result); void Sub(MatrixType otherOperand, MatrixType& result); void Mult(MatrixType otherOperand, MatrixType& result); void Print(std::ofstream& outfile); bool AddSubCompatible(MatrixType otherOperand); bool MultCompatible (MatrixType otherOperand); private: int values [MAX_ROWS][MAX_COLS]; int numRows; int numCols; ; Before you start looking at how to implement this class, you must determine the appropriate preconditions and postconditions for each operation. Note that the class provides the member functions to allow the client to determine if the binary matrix operations are possible. Before this class can become a permanent part of your program library, it must be thoroughly tested. Write a menu driven testing program to test you MatrixType. Menu-Driven Testing Interface the menu should contain the following options GetNewMatrix Number of rows and number of columns are on the next line Number of column values on the next number of rows lines AddMatricesAdd first and second, leaving the result in the third SubMatricesSbutract second from first, leaving the result in the third MultiplyMatrices Multiply first and second, leaving the result in the third PrintMatrixPrint the matrix one row per line on DataOut Quit Processing Notes 1). is a number between 0 and 9. This value is used as an index into an array of MatrixType. 2). The main function must include a switch statement in which the case expression is a user-define denumeration type. This means that the command is recognized and its enumeration equivalent is sent back to be used in the case statement. 3). The driver must ensure the preconditions of the member functions of Matrix-Type. Print an error message if a precondition is violated. 4). Echo print each command on DataOut.
## Deliverables
Deliverables - a listing of the specification file for class MatrixType with the preconditions and postconditions specified - a listing of the Implementation file for Class MatrixType - a listing of the test driver - an implemented test plan
## Deadline information
Due 10/17/01 by 12pm