几个C++的问题

来源:百度知道 编辑:UC知道 时间:2024/06/28 05:03:52
有一个程序:
#include<fstream>
using namespace std;
int main()
{
int a[10];
ofstream outfile("f1.dat",ios::out);
if(!outfile)
{
cerr<<"Open error!"<<endl;
exit(1);
}
cout<<"Input your number:";
for(int i=0;i<10;i++)
{
cin>>a[i];
outfile<<a[i]<<" ";
}
outfile.close();
return 0;
}
这是清华大学谭浩强教授的《C++程序设计》书上的例题,我试了下,发现运行不了,加上头文件iostream后就可以运行了,可是谭教授在书上说不加这行也是可以的,因为fstream是iostream的派生类,所以已经具备了iostream的功能。可是我编译无法通过,为什么啊?

2.打开输出文件f1.dat是可以的,可是我想把它放在F盘下,于是我把ofstream outfile("f1.dat",ios::out)这句改成了ofstream outfile("f:\f1.dat",ios::out),结果无法通过,改成ofstream outfile;
outfile.open("f:\f1.dat")还是不行,请问这是怎么回事?

3.谭教授在书上好多地方用到了ios::out、ios::noreplace这种句子,可是我在VC6.0中输入的时候ios这个类里根本没有这些选项啊,就是我输入ios::的时候不是会自动出现一个下拉框的吗?里面没有out、replace什么的,这是怎么回事?

1 可能 cout 必须加 iostream 才可以

因为虽然fstream是iostream的派生类 但是他继承的是基类中的 public 和 protect类型 但是私有类型 继承不了 所以可能是这个原因

2
转意符 改为: f:\\f1.dat 注意是:\\ 而不是\

3 不清楚 没用过 是不是编译器的问题