2017-01-28 8 views
1

複数のオブジェクトを挿入するようにオペレータをオーバーロード。C++私は、ファイル内の私のクラスを記述しますが、同時に複数行(複数のオブジェクト)を挿入するオペレータ< <をオーバーロードしようとしています<<

friend void operator<<(ofstream& o,Departament&d) 
{ 
    o<<d.denumire<< " " << d.nrAngajati << " "; 
    for(int i = 0 ; i< d.nrAngajati-1; i++) 
    { 
     o<<d.efortOmOre[i]<<", "; 
    } 
    o<<d.efortOmOre[d.nrAngajati-1]<<"."<<endl; 
} 

私はそれを使ってファイルに書き込むことができます。 このようなものです。

Class a,b,c; 
fisOut("out.txt"); 
fisOut<< a; fisOut<<b; fisOut<<c; 
fisOut.close(); 

しかし、私は本当に、そのこれを実行する必要があります。

fisOut<<a<<b<<c; 
fisOut.close(); 

が、私はそれをどのように行うことができますか?

+0

は再びそれを検索します。 – LogicStuff

+0

https://en.m.wikipedia.org/wiki/Method_chaining – PcAF

答えて

3

< <オペレータはストリーム自体を返すようにすることをお勧めします。これはあなたが望むようにチェーン出力を可能にします。

ので:

friend ofstream& operator<<(ofstream& o,Departament&d) 
{ 
    ... 
    return o; 
} 
+0

笑、それは...来ていることを見ていなかったので、簡単でした。また、ありがとう! – ZZR

関連する問題

 関連する問題