将流对象从主程序传递到类

ban*_*edo 4 c++

这是我想要做的:
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;
}
Run Code Online (Sandbox Code Playgroud)

小智 9

您必须通过引用传递流对象:

Object::Object( ofstream & filein )
{
 filein << "Success";
}
Run Code Online (Sandbox Code Playgroud)

为什么你在课堂上使用typedef?它应该如下所示:

class Object
{
   public:
     Object(ofstream & filein);
};
Run Code Online (Sandbox Code Playgroud)