这是我要做的事情:
1)在我的主体中打开一个ofstream对象。我可以做到这一点没问题。
2)将此对象与文件名关联。没问题。
3)将此对象传递给类并在此类中发送输出。我不能这样做。
这是我的代码。我将不胜感激任何帮助。谢谢!
#include <fstream>
#include <iostream>
using namespace std;
typedef class Object
{
public:
Object(ofstream filein);
} Object;
Object::Object(ofstream filein)
{
filein << "Success";
}
int main (int argc, char * const argv[])
{
ofstream outfile;
outfile.open("../../out.txt");
Object o(outfile);
outfile.close();
return 0;
}
答案 0 :(得分:9)
您必须通过引用传递流对象:
Object::Object( ofstream & filein )
{
filein << "Success";
}
为什么你在课堂上使用typedef?它应该是这样的:
class Object
{
public:
Object(ofstream & filein);
};
答案 1 :(得分:2)
值得一提的是,在c ++ 0x中你将有另外的选择(除了通过引用或指针传递):