Добавил:
Tushkan
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторные работы (2) / laba9 / sclass_methods
.h // Создание простого класса
// sclass_methods.h - Процедуры и конструкторы
// Деструктор:
Matrix::~Matrix() { cout << "Destructed\n"; }
// Конструктор умолчания:
Matrix::Matrix(int prow, int pcol)
{
int i, j;
col = pcol; row = prow;
for (i=0; i < prow; i++)
for (j=0; j < pcol; j++)
matr[i][j] = 0;
}
// Конструктор копирования:
Matrix::Matrix(const Matrix &m, int number)
{
int i, j;
col = m.col; row = m.row;
for (i=0; i < row; i++)
for (j=0; j < col; j++)
matr[i][j] = m.matr[i][j] + number;
}
// Конструктор преобразования:
void Matrix::MatrixI( int ch)
{
int i;
if (row < col)
for (i=0; i < row; i++)
matr[i][i] = ch;
else
for (i=0; i < col; i++)
matr[i][i] = ch;
// return 0;
}
// Вывод матрицы на экран:
void Matrix::show() const
{
int i, j;
for(i=0; i < row; i++)
{
for (j=0; j < col; j++)
printf("%i ", matr[i][j]);
printf("\n");
}
}
// Преобразование типа double:
Matrix::operator double()
{
int i, j, sum = 0;
double mid;
for (i=0; i < row; i++)
for (j=0; j < col; j++)
sum += matr[i][j];
mid = (double)sum / (row * col);
return mid;
}
// sclass_methods.h - Процедуры и конструкторы
// Деструктор:
Matrix::~Matrix() { cout << "Destructed\n"; }
// Конструктор умолчания:
Matrix::Matrix(int prow, int pcol)
{
int i, j;
col = pcol; row = prow;
for (i=0; i < prow; i++)
for (j=0; j < pcol; j++)
matr[i][j] = 0;
}
// Конструктор копирования:
Matrix::Matrix(const Matrix &m, int number)
{
int i, j;
col = m.col; row = m.row;
for (i=0; i < row; i++)
for (j=0; j < col; j++)
matr[i][j] = m.matr[i][j] + number;
}
// Конструктор преобразования:
void Matrix::MatrixI( int ch)
{
int i;
if (row < col)
for (i=0; i < row; i++)
matr[i][i] = ch;
else
for (i=0; i < col; i++)
matr[i][i] = ch;
// return 0;
}
// Вывод матрицы на экран:
void Matrix::show() const
{
int i, j;
for(i=0; i < row; i++)
{
for (j=0; j < col; j++)
printf("%i ", matr[i][j]);
printf("\n");
}
}
// Преобразование типа double:
Matrix::operator double()
{
int i, j, sum = 0;
double mid;
for (i=0; i < row; i++)
for (j=0; j < col; j++)
sum += matr[i][j];
mid = (double)sum / (row * col);
return mid;
}
Соседние файлы в папке laba9