인프런 커뮤니티 질문&답변
입출력 연산자 작동 원리가 알고싶습니다
작성
·
259
0
선생님이 설명해주신 입출력 연산자가
istream&operator>>(istream&in, Point&point)
{
}
이런식으로 생겼는데 istream&in 에서는 도대체 무얼 받는건가요? parameter가 있으면 무언가를 받아야하는데
cin>>p1>>p2 이런식으로 parameter 에 아무것도 안보네도 작동이 잘되서 parameter 에서 무엇을 어떻게 받는지 알려주시면 감사하겠습니다.
답변 1
4
cin >> p1;
여기서 cin 이 istream&in 자리에 들어가는거구요! (cin 은 엄연히 "객체" 입니다. istream 클래스에서 찍어낸 객체라고 생각하시면 돼요! 그러니 파라미터로 넘길 수 있어요!)
p1 이 Point&point 자리에 들어가는 것입니다.
이항 연산자라면 보통 "피연산자 연산자 피연산자" 이런 구조잖아요? 3 + 5 처럼요 !
이때 연산자 오버로딩을 한다면 연산자 왼쪽에 있는게 첫번째 파라미터, 연산자 오른쪽에 있는게 두번째 파라미터로 들어간다고 생각하시면 됩니다. :)





