繁体   English   中英

使用 istream 和 ostream 对象作为类 c++ 的数据成员

[英]Use istream and ostream objects as data members of class c++

我正在尝试实现一个不能直接使用 cin 和 cout 的类。 我需要将输入和输出流的引用传递给类的构造函数,并将它们保存在一些私有字段中,以便我稍后可以在类的其他函数中访问它们。 我怎样才能实现这个功能?

为什么不简单地使用对std::istreamstd::ostream的引用?

struct X
{
    std::ostream& os; 
    std::istream& is; 

    X( std::ostream& os_, std::istream& is_):os{os_}, is{is_}{} 
    void Func() { os << "Hallo" << std::endl; }
    void Inp() { std::string s; is >> s; os << s << std::endl; } 
};


int main()
{
    X x(std::cout, std::cin);
    x.Func();
    x.Inp();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM