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

UptoLike

Объектно-ориентированное программирование на С++
сессию, и студентов-контрактников, не допущенных к сессии из-за
задолженности по оплате, использует виртуальный метод
PassedExams():
// метод распечатки информации о должниках
void Group::PrintCredits()
{
cout << "Задолжники " << endl;
for(int i = 0; i < count; i++)
if(!students[i] -> PassedExams())
cout << students[i] -> GetFio() << endl;
}
Аналогичный прием используется и в других методах (выделенные
строки представляют собой использование виртуальных методов).
// сдача зачета одним студентом
// (по номеру зачетной книжки)
void Group::SetTest(int ntb, int numTest, double ball)
{
int i;
Student* std;
if(FindStudent(ntb, std, i))
std->SetTest(numTest, ball);
}
// сдача экзамена одним студентом
// (по номеру зачетной книжки)
void Group::SetExam(int ntb, int numExam, double ball)
{
int i;
Student* std;
if(FindStudent(ntb, std, i))
std->SetExam(numExam, ball);
}
// сдача зачета всеми студентами группы
void Group::SetTest(int numTest, double* balls)
{
for(int i = 0; i < count; i++)
try
{
students[i]->SetTest(numTest, balls[i]);
}
catch(int e)
{
if (e == 1)
111
                          Объектно-ориентированное программирование на С++
сессию, и студентов-контрактников, не допущенных к сессии из-за
задолженности   по    оплате,   использует  виртуальный  метод
PassedExams():

    // метод распечатки информации о должниках
    void Group::PrintCredits()
    {
         cout << "Задолжники " << endl;
         for(int i = 0; i < count; i++)
              if(!students[i] -> PassedExams())
                   cout << students[i] -> GetFio() << endl;
    }

     Аналогичный прием используется и в других методах (выделенные
строки представляют собой использование виртуальных методов).

    // сдача зачета одним студентом
    // (по номеру зачетной книжки)
    void Group::SetTest(int ntb, int numTest, double ball)
    {
         int i;
         Student* std;
         if(FindStudent(ntb, std, i))
              std->SetTest(numTest, ball);
    }

    // сдача экзамена одним студентом
    // (по номеру зачетной книжки)
    void Group::SetExam(int ntb, int numExam, double ball)
    {
         int i;
         Student* std;
         if(FindStudent(ntb, std, i))
              std->SetExam(numExam, ball);
    }

    // сдача зачета всеми студентами группы
    void Group::SetTest(int numTest, double* balls)
    {
         for(int i = 0; i < count; i++)
              try
              {
                   students[i]->SetTest(numTest, balls[i]);
              }
              catch(int e)
              {
                   if (e == 1)
                                                                      111