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

UptoLike

Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
}
}
cin.get();
try
{
if(type == 1)
students[count]= new Student(f, d, m, y, ntb);
else
students[count]=new
ContractStudent(f, d, m, y, ntb, pay);
}
catch(int e)
{
. . .
}
Теперь обработка всех студентов группы может происходить
одинаково. Например, можно добавить в класс Group следующие методы
// внесение оплаты студентом (по номеру зачетной книжки)
void DescPayment(int, double);
// сдача зачета одним студентом
// (по номеру зачетной книжки)
void SetTest(int, int, double);
// сдача экзамена одним студентом
// (по номеру зачетной книжки)
void SetExam(int, int, double);
// сдача зачета всеми студентами группы
void SetTest(int, double*);
// сдача экзамена всеми студентами группы
void SetExam(int, double*);
// распечатка информации о сдаче зачета студентами группы
void PrintTest(int);
// распечатка информации о сдаче экзамена
// студентами группы
void PrintExam(int);
// метод распечатки информации о должниках
void PrintCredits();
// метод перевода студентов на следующий год
// (с исключением несдавших)
void NextSession();
Все они обрабатывают список студентов, выполняя
соответствующие методы в зависимости от того, к какому классу
принадлежит студент, используя механизм виртуальных функций.
Например, метод распечатки информации о студентах, не сдавших
110
                                Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
           }
      }
      cin.get();
      try
      {
           if(type == 1)
                students[count]= new Student(f, d, m, y, ntb);
                else
                     students[count]=new
                          ContractStudent(f, d, m, y, ntb, pay);
      }
      catch(int e)
      {
           .    .    .
      }

     Теперь обработка всех студентов группы может происходить
одинаково. Например, можно добавить в класс Group следующие методы


      // внесение оплаты студентом (по номеру зачетной книжки)
       void DescPayment(int, double);
       // сдача зачета одним студентом
       // (по номеру зачетной книжки)
       void SetTest(int, int, double);
       // сдача экзамена одним студентом
       // (по номеру зачетной книжки)
       void SetExam(int, int, double);
       // сдача зачета всеми студентами группы
       void SetTest(int, double*);
       // сдача экзамена всеми студентами группы
       void SetExam(int, double*);
       // распечатка информации о сдаче зачета студентами группы
       void PrintTest(int);
       // распечатка информации о сдаче экзамена
       // студентами группы
       void PrintExam(int);
       // метод распечатки информации о должниках
       void PrintCredits();
       // метод перевода студентов на следующий год
       // (с исключением несдавших)
       void NextSession();

     Все    они  обрабатывают   список             студентов,  выполняя
соответствующие методы в зависимости от           того, к какому классу
принадлежит студент, используя механизм           виртуальных функций.
Например, метод распечатки информации о           студентах, не сдавших

110