Объектно-ориентированное программирование на C++. Андрианова А.А - 144 стр.

UptoLike

Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
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