| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 1054 人关注过本帖
标题:istream对象的使用问题
只看楼主 加入收藏
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
结帖率:95.37%
  已结贴   问题点数:20  回复次数:18   
istream对象的使用问题
#include <iostream>
using namespace std;

void f(istream i);//声明为函数的形参就不会报错
int main()
{
    //istream s;//说basic_istream类中的char_traits是保护类型的
    return 0;
}

搜索更多相关主题的帖子: 对象 报错 int main 类中 
2019-01-02 22:17
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:334
帖 子:6905
专家分:40133
注 册:2011-1-18
  得分:10 
一个是类型声明,一个是变量定义。
但 void f(istream i) 你同样用不起来。
2019-01-03 08:45
Jonny0201
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:45
帖 子:468
专家分:2370
注 册:2016-11-7
  得分:10 
就从最近的提问来说, 给你一个建议
不要死钻牛角尖, 建议跟着 C++ Primer 学习, 因为你已经有一定的基础了
不知道哪些材料会让你困惑这些问题
附件: 您没有浏览附件的权限,请 登录注册
2019-01-03 10:06
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
  得分:0 
回复 2楼 rjsp
为什么不能用?
2019-01-03 10:35
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
  得分:0 
回复 3楼 Jonny0201

看剑指offer里面的一个题。想在类中定义一个ostream 类型的变量,把二叉树中的序列读到该流中,然后再从该流中把数据读出来。
附件: 您没有浏览附件的权限,请 登录注册
2019-01-03 10:38
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:334
帖 子:6905
专家分:40133
注 册:2011-1-18
  得分:0 
回复 5楼 花脸
别人参数是 引用传递
你的参数是 值拷贝
2019-01-03 11:01
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
  得分:0 
回复 6楼 rjsp
我能否在类中建立一个ostream o,把字符出入到o中,然后再从o中读取字符
2019-01-03 12:10
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:334
帖 子:6905
专家分:40133
注 册:2011-1-18
  得分:0 
以下是引用花脸在2019-1-3 12:10:42的发言:

我能否在类中建立一个ostream o,把字符出入到o中,然后再从o中读取字符
听不懂你说什么

是这个意思吗?
程序代码:
#include <iostream>
using namespace std;

void f( std::ostream& os )
{
    os << "123";
}

int main( void )
{
    f( cout );
}

2019-01-03 12:18
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
  得分:0 
回复 8楼 rjsp
class A
{
    public:
        ostream o;
        void f()
        {
            int a[5];
            for(int i=0;i<5;++i)
                o<<a[i];
        }
        void f1()
        {
            //再从输出流o中读数据
        }
};

这样。
2019-01-03 19:44
Jonny0201
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:45
帖 子:468
专家分:2370
注 册:2016-11-7
  得分:0 
程序代码:
#include <iostream>

using namespace std;
class Foo {
    private:
        ostream &os;
    public:
        Foo(ostream &os) : os {os} {}
        template <size_t N>
        void func(int (&arr)[N]) {
            for(auto c : arr) {
                this->os << c;
            }
        }
};
int main(int argc, char *argv[]) {
    Foo f(cout);
    int arr[] {1, 2, 3, 4, 5};
    f.func(arr);
}

是这样吗?
2019-01-03 22:44
快速回复:istream对象的使用问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.080116 second(s), 8 queries.
Copyright©2004-2019, BCCN.NET, All Rights Reserved