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

UptoLike

Объектно-ориентированное программирование на С++
предназначена для вывода сообщения об ошибке. В данной функции
текст сообщения определен быть не может, поскольку заранее
неизвестно, какая ошибка возникнет. Следовательно, она должна быть
чисто виртуальной и переопределяться в классах-наследниках.
// базовый класс иерархии исключений
class Exception
{
public:
// метод вывода сообщения об ошибке
virtual void ShowMessage() = 0;
};
Для каждого вида исключительных ситуаций иерархия содержит
свой класс, производный от класса Exception, в котором переопределен
виртуальный метод вывода сообщения об ошибке ShowMessage().
// класс исключения, связанного с неправильным
// заданием размеров матрицы
class BadDimensionException : public Exception
{
public:
void ShowMessage()
{
cout << "Размерности матрицы некорректны"
<< endl;
}
};
// класс исключения, связанного с обращением
// к несуществующему элементу матрицы
class BadIndexException : public Exception
{
public:
void ShowMessage()
{
cout << "Элемента с такими индексами в матрице
не существует" << endl ;
}
};
// класс исключения несоответствия размеров,
// возникающего при суммировании матриц
class DimensionSumException : public Exception
{
public:
void ShowMessage()
{
141
                          Объектно-ориентированное программирование на С++
предназначена для вывода сообщения об ошибке. В данной функции
текст сообщения определен быть не может, поскольку заранее
неизвестно, какая ошибка возникнет. Следовательно, она должна быть
чисто виртуальной и переопределяться в классах-наследниках.
     // базовый класс иерархии исключений
     class Exception
     {
          public:
          // метод вывода сообщения об ошибке
          virtual void ShowMessage() = 0;
     };
    Для каждого вида исключительных ситуаций иерархия содержит
свой класс, производный от класса Exception, в котором переопределен
виртуальный метод вывода сообщения об ошибке ShowMessage().
     // класс исключения, связанного с неправильным
     // заданием размеров матрицы
     class BadDimensionException : public Exception
     {
     public:
          void ShowMessage()
          {
               cout << "Размерности матрицы некорректны"
                                                      << endl;
          }
     };

     // класс исключения, связанного с обращением
     // к несуществующему элементу матрицы
     class BadIndexException : public Exception
     {
     public:
          void ShowMessage()
          {
               cout << "Элемента с такими индексами в матрице
                                        не существует" << endl ;
          }
     };

     // класс исключения несоответствия размеров,
     // возникающего при суммировании матриц
     class DimensionSumException : public Exception
     {
     public:
          void ShowMessage()
          {
                                                                      141