강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

jsh4059님의 프로필 이미지
jsh4059

작성한 질문수

홍정모의 따라하며 배우는 C++

9.2 입출력 연산자 오버로딩 하기

입출력 연산자 작동 원리가 알고싶습니다

작성

·

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 처럼요 !

이때 연산자 오버로딩을 한다면 연산자 왼쪽에 있는게 첫번째 파라미터, 연산자 오른쪽에 있는게 두번째 파라미터로 들어간다고 생각하시면 됩니다. :) 

jsh4059님의 프로필 이미지
jsh4059

작성한 질문수

질문하기