为什么不能用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;
}