堆栈列表类的重载>>运算符


LongInt i1; 
cin >> i1;

其中 LongInt 是一个包含整数堆栈的类。我想将输入存储到类的堆栈中,我认为这意味着我必须在类文件中重载>>运算符。问题是我不确定如何将 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 的实现。

最新更新