ВУЗ:
Составители:
Рубрика:
Объектно-ориентированное программирование на С++
Matrix Matrix::operator * (Matrix& ob)
{
if(n == ob.m)
{
// перемножение матриц
. . .
}
else
// количество столбцов первой матрицы должно
// быть равно количеству строк второй матрицы
throw DimensionProductException();
}
// генерация исключения в операции сложения матриц
Matrix Matrix::operator + (Matrix& ob)
{
if(n == ob.n && m == ob.m)
{
// сложение матриц
. . .
}
else
// размеры матриц должны совпадать
throw DimensionSumException();
}
Как и ранее, можно обрабатывать каждый вид исключения своим
обработчиком catch:
. . .
try
{
Matrix a(m,n), b(n,k);
cin >> a >> b;
Matrix c = a * b;
cout << "a*b=" << c << endl;
Matrix d = a + b;
cout << "a+b=" << d << endl;
}
catch(DimensionProductException e)
{
e.ShowMessage();
}
catch(DimensionSumException e)
{
143
Объектно-ориентированное программирование на С++
Matrix Matrix::operator * (Matrix& ob)
{
if(n == ob.m)
{
// перемножение матриц
. . .
}
else
// количество столбцов первой матрицы должно
// быть равно количеству строк второй матрицы
throw DimensionProductException();
}
// генерация исключения в операции сложения матриц
Matrix Matrix::operator + (Matrix& ob)
{
if(n == ob.n && m == ob.m)
{
// сложение матриц
. . .
}
else
// размеры матриц должны совпадать
throw DimensionSumException();
}
Как и ранее, можно обрабатывать каждый вид исключения своим
обработчиком catch:
. . .
try
{
Matrix a(m,n), b(n,k);
cin >> a >> b;
Matrix c = a * b;
cout << "a*b=" << c << endl;
Matrix d = a + b;
cout << "a+b=" << d << endl;
}
catch(DimensionProductException e)
{
e.ShowMessage();
}
catch(DimensionSumException e)
{
143
Страницы
- « первая
- ‹ предыдущая
- …
- 141
- 142
- 143
- 144
- 145
- …
- следующая ›
- последняя »
