-1
ostream을 사용자 정의 문자열 클래스와 함께 사용하고 연산자를 오버로드하려고합니다. < < 버퍼로 스트리밍 한 다음 원하는 위치로 플러시 할 수 있습니다 (내 경우 그냥 창문에 인쇄 될)<< 연산자로 내 자신의 String 클래스를 사용합니다
나는 내부적으로 iostream 's에 익숙하지 만 나의 이해에서 std :: stringbuf를 만드는 방법은 내 custom stringstream의 기본이 아니다. stringbuf가 std :: string을 처리하기 때문에 작동합니다. 본질적으로
내가이 일을 할 수 (또는 유사)에 원하는 : MyOutput가 인쇄 변경 될 수 있습니다
MyStringClass string
MyOutput << "hello" << string << "World" << std::endl;
어디서든 내가 원하는.
감사합니다.
간단합니까? 하지만 내 문자열이 출력되는 ostream은 std :: strings를 다루지 않습니까? 아니면 간단히 무시하고 연산자 정의 내에서 '인쇄'를 수행합니까? 감사합니다 –
'ostream'은'cout'의 타입입니다; std :: string과 아무 관련이 없습니다. 내 선언문을 사용하면'cout << yourstring'을 사용할 수 있지만, 당신은 cout을 사용할 필요가 없습니다. 원하는 목적지를 사용하십시오. – Aganju
@LukeBourne'<<'함수 안에는 이미 출력 메소드가 정의되어있는'std :: string'과 같은 다른 타입을 출력해야합니다. – Barmar