本文整理汇总了C++中Input::Next方法的典型用法代码示例。如果您正苦于以下问题:C++ Input::Next方法的具体用法?C++ Input::Next怎么用?C++ Input::Next使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Input
的用法示例。
在下文中一共展示了Input::Next方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Read
NumberPtr Number::Read(Input &input)
{
Integer ten(10);
auto_ptr<Integer> intValue(new Integer);
while(input.Current() >= '0' && input.Current() <= '9')
{
Integer digit(input.Current() - '0');
intValue = intValue->Times(&ten)->Plus(&digit);
input.Next();
}
// Process part after decimal separator
if(input.Current() == '.')
{
// Cast the current value to float (just to prevent compiler warning)
auto_ptr<MachineReal> realValue(new MachineReal(intValue));
input.Next();
auto_ptr<MachineReal> factor(new MachineReal(1.0));
MachineReal tenth(0.1);
while(input.Current() >= '0' && input.Current() <= '9')
{
MachineReal digit(input.Current() - '0');
factor = factor->Times(&tenth);
realValue = realValue->Plus(factor->Times(&digit).get());
input.Next();
}
return NumberPtr(realValue);
}
else
return NumberPtr(intValue);
}
示例2: ReadInteger
IntegerType Number::ReadInteger(Input &input)
{
IntegerType intValue(0);
// Process part before decimal separator
while(input.Current() >= '0' && input.Current() <= '9')
{
intValue = intValue * 10 + (input.Current() - '0');
input.Next();
}
return intValue;
}