我的课看起来像:
class FileOut
{
private:
std::ofstream stream;
public:
FileOut(string sciezka);
~FileOut(void);
friend FileOut & operator<< (FileOut & obiekt, const char* w);
friend FileOut & operator<< (FileOut & obiekt, const string & w);
friend FileOut & operator<< (FileOut & obiekt, const char & znak);
friend FileOut & operator<< (FileOut & obiekt, const int & liczba);
friend FileOut & operator<< (FileOut & obiekt, const double & liczba);
friend FileOut & operator<< (FileOut & obiekt, std::endl);
//friend FileOut & endl (FileOut & obiekt);
};
operator<<
适用于字符串、char、int 等(我将新字符放入stream
)。我想endl
为我的班级实现操纵器。通常我们以这种方式覆盖它:
ostream & endl (ostream & os){ return os << '\n'; }
但它不适用于我的班级。我宣布
friend FileOut & endl (FileOut & obiekt);
但它不起作用。我该怎么做才能写:
FileOut save("file.txt");
save<<"tralalala"<<endl<<1123;
???