【发布时间】:2016-04-02 05:27:12
【问题描述】:
由于ifstream 和istringstream 继承自istream,我预计istream(或者更确切地说,basic_istream)会为这样的原始类型声明operator>>:
virtual istream& istream::operator>>(char &c);
virtual istream& istream::operator>>(int &i);
快速浏览源代码表明情况并非如此——这些函数看起来不是虚拟的。我错过了什么吗?
[上下文是我正在尝试滚动执行二进制 I/O、纠正字节顺序等的 istreams。]
【问题讨论】:
-
简短回答 - 它们不是虚拟的,但它们通过调用其他虚拟函数来工作
标签: c++ io virtual iostream operator-keyword