Разработка библиотечных средств
Категория реферата: Рефераты по информатике, программированию
Теги реферата: реферат япония, титульный лист доклада
Добавил(а) на сайт: Дубов.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата
Функция – оператор friend VARTYPE operator %(const Matrix&, const Matrix&):
Функция вычисления скалярного произведения векторов. В ней в начале проверяется, являются ли передаваемые объекты векторами, а затем вычисляется скалярное произведение.
Функции-члены VARTYPE determ( ) и VARTYPE vmodule( ):
Первая функция вычисляет определитель собственного объекта (матрицы). При этом используются функция Matrix & Gauss(dim, dim). Функция VARTYPE vmodule( ) вычисляет длину (модуль) вектора
Функция операции вывода friend ostream& operator<<(ostream&, Matrix&):
Данная функция не может быть членом класса, поэтому чтобы иметь доступ к приватным элементам класса, она объявлена "дружественной" функцией. Она имеет два параметра: ссылку на поток, который находится слева от знака операции <<, и ссылку на объект, который находится слева от знака операции, данные этого объекта и будут выводиться. Затем следует форматированный вывод в поток всех элементов массива и возвращается поток. Если требуется вывести данные в файл, нужно открыть его присоединением к потоку ofstream.
Функция операции ввода friend istream& operator>>(istream&, Matrix&):
Так же как и предыдущая, данная функция не может быть членом класса, а поэтому для доступа к приватным элементам класса объявлена "дружественной" функцией класса. Она так же имеет два параметра: ссылку на поток, который находится слева от знака >>, и ссылку объект, который находится слева от знака операции, в него и будут вводиться данные из потока. Затем следует ввод данных из потока в элементы массива и возвращается поток. Для ввода данных из файла, нужно открыть его присоединением к потоку ifstream.
Функции-члены dim write(ofstream&) и dim read(ifstream&):
Функции предназначены для вывода в файл и ввода из файла матриц в из двоичном представлении. Для этого необходимо передать в них соответствующую ссылку на открытый файл.
Функция void ERROR_MATRIX(dim):
Это функция-член, которая вызывается для фиксации некоторых ошибок при создании матриц и работе с ними, таких как отсутствие памяти, несогласованность размеров матриц при операции умножения, попытки вычислить отрицательную степень матрицы и т.п.
Листинг модуля с определением и реализацией класса матриц
// файл tmatr.cpp
#include <stdlib.h>
#include <mem.h> // для setmem()
#include <fstream.h>
#include <math.h>
typedef unsigned char dim;
template <class VARTYPE> class Matrix {
typedef Matrix Vector;
private:
VARTYPE *matr; // указатель на массив матрицы
dim m,n;// размеры матрицы
public:
// конструкторы и деструкторы:
Matrix() { matr=(VARTYPE*)0; m=n=0; }
Matrix(dim,dim=1); // Обычный конструктор
Matrix(const Matrix<VARTYPE>&); // Конструктор копирования
~Matrix() { delete [ ]matr; }
// доступ к элементам матрицы
dim size_row() { return m; }// число строк
dim size_col() { return n; }// число столбцов
VARTYPE& operator() (dim x) const { return (*this)(x,0); }// элементу
// перегруженные операции и функции:
Matrix<VARTYPE>& operator=(const Matrix<VARTYPE>&);
Matrix<VARTYPE>& operator=(const VARTYPE&);
Matrix<VARTYPE> operator^(int); // возведение в степень
Matrix<VARTYPE> operator!(); // транспонирование
VARTYPE determ(); // определитель матрицы
VARTYPE vmodul(); // модуль вектора
Рекомендуем скачать другие рефераты по теме: инновационная деятельность, решебник по английскому языку.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата