2017-01-28 2 views
1

< <을 오버로드하려고하면 파일에 클래스를 쓰지만 동시에 더 많은 행을 삽입합니다 (더 많은 객체).C++ 오버레이터 연산자 << more object를 삽입하려면

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

롤 (Lol), 너무 쉬웠습니다. 오는 것을 보지 못했습니다. 감사합니다. – ZZR