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

UptoLike

Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
// которая также извлекается из стека
case ')':
c = (char)s.PopElement();
while(c != '(')
{
q.PushElement((int)c);
c = (char)s.PopElement();
}
break;
default:
// текущий символ – операнд.
// Он помещается в очередь
q.PushElement((int)str[i]);
}
i++;
}
// формирования строки-результата, извлекая сначала
// все из очереди, а потом из стека
char* res = new char [i + 1];
i = 0;
try
{
while(true)
{
res[i] = (char)q.PopElement();
i++;
}
}
catch(ListException& )
{
try
{
while(true)
{
res[i] = (char)s.PopElement();
i++;
}
}
catch(ListException& )
{
res[i] = '\0';
}
}
return res;
}
166
                                 Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
            // которая также извлекается из стека
            case ')':
                 c = (char)s.PopElement();
                 while(c != '(')
                 {
                      q.PushElement((int)c);
                      c = (char)s.PopElement();
                 }
                 break;
            default:
                 // текущий символ – операнд.
                 // Он помещается в очередь
                 q.PushElement((int)str[i]);
            }
            i++;
          }
          // формирования строки-результата, извлекая сначала
          // все из очереди, а потом из стека
          char* res = new char [i + 1];
          i = 0;
          try
          {
             while(true)
             {
                res[i] = (char)q.PopElement();
                i++;
             }
          }
          catch(ListException& )
          {
             try
             {
                  while(true)
                {
                    res[i] = (char)s.PopElement();
                    i++;
                }
              }
             catch(ListException& )
             {
                res[i] = '\0';
             }
          }
          return res;
      }




166