ВУЗ:
Составители:
Рубрика:
Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
e.ShowMessage();
}
. . .
Используя иерархию классов-исключений, приведенный выше
фрагмент кода можно переписать так, что после контролируемого блока
try следует только один обработчик, имеющий параметр – ссылку на
объект базового класса:
. . .
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(Exception& e)
{
e.ShowMessage();
}
. . .
В зависимости от возникающей ошибки согласно принципу
полиморфизма ссылка на базовый класс будет указывать на объект
производного класса, соответствующего типу ошибки. Тогда в
обработчике catch будет вызываться метод ShowMessage() именно
этого класса.
3.2.3. Использование принципа наследования на
примере класса «Квадратная матрица»
Так как квадратная матрица есть частный случай прямоугольной, ее
структурные и поведенческие свойства могут наследоваться от класса
Matrix. Кроме этого, в класс QMatrix могут быть добавлены новые
методы, специфичные для таких матриц (вычисление определителя,
получение обратной матрицы).
Применение методов базового класса для выполнения
арифметических операций с квадратными матрицами связано с
преобразованиями типов. Например, базовый класс Matrix содержит
144
Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
e.ShowMessage();
}
. . .
Используя иерархию классов-исключений, приведенный выше
фрагмент кода можно переписать так, что после контролируемого блока
try следует только один обработчик, имеющий параметр – ссылку на
объект базового класса:
. . .
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(Exception& e)
{
e.ShowMessage();
}
. . .
В зависимости от возникающей ошибки согласно принципу
полиморфизма ссылка на базовый класс будет указывать на объект
производного класса, соответствующего типу ошибки. Тогда в
обработчике catch будет вызываться метод ShowMessage() именно
этого класса.
3.2.3. Использование принципа наследования на
примере класса «Квадратная матрица»
Так как квадратная матрица есть частный случай прямоугольной, ее
структурные и поведенческие свойства могут наследоваться от класса
Matrix. Кроме этого, в класс QMatrix могут быть добавлены новые
методы, специфичные для таких матриц (вычисление определителя,
получение обратной матрицы).
Применение методов базового класса для выполнения
арифметических операций с квадратными матрицами связано с
преобразованиями типов. Например, базовый класс Matrix содержит
144
Страницы
- « первая
- ‹ предыдущая
- …
- 142
- 143
- 144
- 145
- 146
- …
- следующая ›
- последняя »
