Объектно-ориентированное программирование на языке С++. Лясин Д.Н - 28 стр.

UptoLike

Составители: 

28
void ReadClient() //функция ввода информации о клиенте с клавиатуры
{ cout<<"\nВвод инф-ии о клиенте\n";
cin>>name>>numb>>value;
}
void ChangePercent(float p) //функция изменения процентной ставки
{ percent=p; }
void Add(float dx) //функция изменения суммы на счету
{ if (value+dx>0)
value+=dx;
else
cout<<”Нельзя снять такую сумму со счета”;
}
void AddPercent() //функция вывода начисления процентов на вклад
{ value*=percent+1; }
~client() { delete [] name;} //деструктор
};
main()
{client c(“Иванов И.И.”,”N12345”,1000); //определяем объект класса client
c.PrintClient(); //выводим информацию
л клиенте на экран
c.Add(2000); //добавляем на счет клиента 2000
c.PrintClient();
c.ChangePercent(0.05); //изменяем процентную ставку
c.AddPercent(); //начисляем проценты на сумму вклада
c.PrintClient();
}
В последнем примере для класса «клиент банка» определены ряд наиболее
существенных характеристик, которые объявлены частными компонентными дан-
ными, а также несколько общедоступных методов, позволяющих обрабатывать
эти характеристики. Если не принимать в расчет иллюстративный характер приве-
денного примера, а, следовательно, и недостаточное количество компонентных
данных и методов в классе для его практического
использования, у класса client
есть еще один недостаток, который делает эту программную модель не вполне со-
ответствующей реальному субъектуклиенту банка. Если обратить внимание на
компонент percent, то можно отметить, что процентная ставка в реальности вво-
дится не для каждого клиента по отдельности, а является характеристикой банка
и для всех клиентов
конкретного банка является одинаковой. В связи с этим необ-
ходимо определить компонент percent таким образом, чтобы он хранился в памяти
в единственном экземпляре при любом количестве объявленных объектов класса
  void ReadClient() //функция ввода информации о клиенте с клавиатуры
    { cout<<"\nВвод инф-ии о клиенте\n";
       cin>>name>>numb>>value;
     }
  void ChangePercent(float p) //функция изменения процентной ставки
     { percent=p; }

  void Add(float dx) //функция изменения суммы на счету
    { if (value+dx>0)
            value+=dx;
       else
       cout<<”Нельзя снять такую сумму со счета”;
     }
  void AddPercent() //функция вывода начисления процентов на вклад
    { value*=percent+1; }
  ~client() { delete [] name;} //деструктор
 };

main()
{client c(“Иванов И.И.”,”N12345”,1000); //определяем объект класса client
  c.PrintClient();     //выводим информацию л клиенте на экран
  c.Add(2000);         //добавляем на счет клиента 2000
  c.PrintClient();
  c.ChangePercent(0.05); //изменяем процентную ставку
  c.AddPercent();         //начисляем проценты на сумму вклада
  c.PrintClient();
}
      В последнем примере для класса «клиент банка» определены ряд наиболее
существенных характеристик, которые объявлены частными компонентными дан-
ными, а также несколько общедоступных методов, позволяющих обрабатывать
эти характеристики. Если не принимать в расчет иллюстративный характер приве-
денного примера, а, следовательно, и недостаточное количество компонентных
данных и методов в классе для его практического использования, у класса client
есть еще один недостаток, который делает эту программную модель не вполне со-
ответствующей реальному субъекту – клиенту банка. Если обратить внимание на
компонент percent, то можно отметить, что процентная ставка в реальности вво-
дится не для каждого клиента по отдельности, а является характеристикой банка
и для всех клиентов конкретного банка является одинаковой. В связи с этим необ-
ходимо определить компонент percent таким образом, чтобы он хранился в памяти
в единственном экземпляре при любом количестве объявленных объектов класса
                                              28