中易网

C++中的istream和ostream是什么关系?继承?

答案:3  悬赏:50  
解决时间 2021-01-14 10:01
  • 提问者网友:自食苦果
  • 2021-01-14 04:03
C++中的istream和ostream是什么关系?继承?
最佳答案
  • 二级知识专家网友:往事埋风中
  • 2021-01-14 05:38
你这个是文件包含关系,不是继承关系.

include
include
include
...

ios文件包括ios_base类, basic_ios类,
ostream文件包括ostream类.
istream文件包含istream类和iostream类

类关系是:
ios_base <-----basic_ios

| <------istream
basic_ios | |<--------iostream
|<------ostream
全部回答
  • 1楼网友:雾月
  • 2021-01-14 08:12
这些问题可以在MSDN中查询到,建议你查询一下。
如果我没记错的话,他们应该都是继承自stream的吧
追问:不是,图上没有stream,有个ios,图示这样的:istream -> ostream -> ios -> xlocnum
追答:如果MSDN是这么说的话,应该就是这种继承关系。istream和ostream并不是完全对立的两个类,所以这种继承关系这也不是很稀奇。就好像文件读写类,有的是只读,有的是可读可写。设备句柄其实都是一个,就是具体的操作不同而已。
我也没具体研究实现的方法。希望尽量能够帮助你。
  • 2楼网友:忘川信使
  • 2021-01-14 06:58
自己网上搜索一下,资料很多的,虽然我对C++不算很熟悉,但是看单词也能看出来,istream、ostream无非都是流,i肯定代表的是input,o肯定代表的是output,前者是输入流,后者是输出流了
追问:我知道他们是输入和输出流!我想问的是ostream是不是继承自istream?那个从ostream到istream的依赖关系是指什么?
追答:两个是从stream分离出来的,一个是输入,一个是输出,你认为能继承吗?这肯定不能了,他们下面会有fistream foutstream f顾名思义就是file,指文件输入输出流,因为C++输入输出都是经过流处理的,而标准的输入输出是std::cinstd::cout
追问:
那这个怎么解释?

追答:意思是istream和ostream合称为iostream,这就是所谓的输入输出流,这不是继承关系!OK?
追问:No, 这是用VS2012生成的依赖关系图!不是人画出来的解释“istream和ostream合称为iostream”的。
追答:依赖是继承???你好好研究下吧!不解释!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息