본문 바로가기
Programming/C & C++

istream operator >> overriding into template class

by leanu 2009. 7. 31.


특정 template 클래스에 overriding 하기 위한 참조 코드.

지금까지 인터넷 검색 및 지인에게 물어본 결과,
template class 라도 operator>> 를 overriding 하는 경우 구체적인 형이 필요하다는 것이다.
(차후 개선된 답을 얻게 되면 업데이트 하겠지만, 지금 단계에서는 여기까지가 내가 내린 결론이다.)

operator >> 를 template class 내부에서 friend 로 선언할 때에는 template 로 선언할 수는 있지만, 컴파일시 뭔가 꺼림찍한 Warning을 뱉어낸다. 어차피 죄다 선언할 것이라면 friend 선언부에도 구체적인 명시를 해서 어떤 녀석들이 쓰이는지 보이는것도 괜찮을듯 싶다.

아래의 소스는 키보드로 입력받은 스트림에서 지정된 형식의 string 을 받아( , 로 구분된 두개의 단어들) 멤버변수 2개에 할당하고 그 결과를 화면에 뿌려보는 것이다.

   예) 키보드로 "abc,123" 이라고 입력하면 name_ 에는 abc가 title_에는 123 이 저장된다.


댓글