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

UptoLike

Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
case 4:
ob.function = new Parabola(); break;
}
// ввод параметров создаваемой функции
ob.function->Input();
// ввод вида ограничения
while(true)
{
cout << "<= - 0, >= - 1, = - 2, < - 3,
> - 4, <> - 5" << endl;
in >> choice;
if(choice >= 0 && choice <= 5)
break;
}
ob.type = (type_inequation) choice;
// ввод правой части
in >> ob.b;
return in;
}
// конструктор ограничения – запрашивает ввод
// ограничения с клавиатуры
Constraint::Constraint()
{
cin >> *this;
}
// функция, переопределяющая оператор вывода ограничения
ostream& operator << (ostream& out, Constraint& ob)
{
// вывод функции левой части ограничения
ob.function->Output();
// вывод знака вида ограничения
switch(ob.type)
{
case le:
out << "<=";
break;
case ge:
out << ">=";
break;
case e:
out << "=";
break;
case l:
out << "<";
break;
case g:
out << ">";
196
                               Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
          case 4:
               ob.function = new Parabola(); break;
          }
          // ввод параметров создаваемой функции
          ob.function->Input();
          // ввод вида ограничения
          while(true)
          {
               cout << "<= - 0, >= - 1, = - 2, < - 3,
                                            > - 4, <> - 5" << endl;
               in >> choice;
               if(choice >= 0 && choice <= 5)
                    break;
          }
          ob.type = (type_inequation) choice;
          // ввод правой части
          in >> ob.b;
          return in;
      }

      // конструктор ограничения – запрашивает ввод
      // ограничения с клавиатуры
      Constraint::Constraint()
      {
           cin >> *this;
      }

      // функция, переопределяющая оператор вывода ограничения
      ostream& operator << (ostream& out, Constraint& ob)
      {
           // вывод функции левой части ограничения
           ob.function->Output();
           // вывод знака вида ограничения
           switch(ob.type)
           {
           case le:
                out << "<=";
                break;
           case ge:
                out << ">=";
                break;
           case e:
                out << "=";
                break;
           case l:
                out << "<";
                break;
           case g:
                out << ">";

196