首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

为啥不能用ostream、istream自定义对象

2014-01-22 
为什么不能用ostream、istream自定义对象#includeiostreamusing namespace stdvoid main(){ostream outp

为什么不能用ostream、istream自定义对象
#include<iostream>
using namespace std;
void main()
{
ostream output;
output<<"happy";
cout<<"hhhhhhhh"<<endl;
}

为什么系统会报错?ostream类中的构造函数不能使用?不太明白什么意思。请大家详细解答一下。谢谢。 对象 iostream 类
[解决办法]
不是不能使用,是不存在默认的构造函数,就是没有无参数的ostream构造函数ostream();一般没有必要自定义,不知道你有什么需求
[解决办法]
给你两个自定义的例子吧,不过还是觉得没什么必要

#include <iostream> 
#include <fstream> 
int main () {
  std::filebuf fb;
  fb.open ("test.txt",std::ios::out);
  std::ostream os(&fb); 
  os << "Test sentence\n";
  fb.close();
  return 0;
}

#include <iostream> 
#include <fstream> 
int main () {
  std::filebuf fb;
  if (fb.open ("test.txt",std::ios::in))
  {
    std::istream is(&fb); 
    while (is)
      std::cout << char(is.get());
    fb.close();
  }
  return 0;

热点排行