[英]overloading >> operator for stack list class
LongInt i1;
cin >> i1;
其中 LongInt 是一个 class,它包含一个整数栈。 我想将输入存储到 class 中的堆栈中,我认为这意味着我必须在我的 class 文件中重载 >> 运算符。 问题是我不确定如何将像 cin >> "111343241" 这样的输入逐位推入堆栈。 我将如何进行这项工作?
要重载运算符本身,实现 get 循环,定义一个命名空间范围
std::istream& operator >>(std::istream& is, LongInt& li) {
char c;
while( is.get(c).good() ) {
if( !std::isdigit(c) ) {
is.unget();
break;
}
...push it to li
}
return is;
}
如何将单个数字推送到 LongInt 取决于您对 LongInt 的实现。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.