이는 새로운 연산자가 기존 연산자와 유사하다면 연산자를 오버로딩 하는것이 유용하다 사실 무엇보다 크다는 비교 연산자 >를 이용하여 오버로딩할 수 있다.
연산자 오버로딩의 목적은 더디까지나 읽기 쉽고 이해하기 쉽기 위함이다. 연산자 오버로딩은 프로그램코드를 작성하는 것도 쉽게 해준다. 그러나 연산자의 작용이 직관적으로 연결되지 않는경우 이는 역효과를 가져올 수 있다. 이와 함께 내가 가장 헷갈리고 많이 썼지만 중요한 순간에는 잊었던 입출력 연산자 오버로딩을 보자
사진이 잘려서 잘 보이진 않지만, 맨 마지막에 show_card()함수와 monster이라는 함수를 ostream출력으로 함꼐 사용함을 볼 수 있다.
결과는 내부 코드가 같으니 똑같이 나왔고 일단 순서는 ostream& operator <<(ostream& out, 출력대상의 포인터);로 프로토타입을 정의해두고
함수 내부에서는 임의의 패러미터로 설정해준 ostream& out에 기존 ostream에 있는 방식대로 출력한 다음, 이 값을 리턴시킨다.
'C++ 쓸려고하면 헷갈리는 것들(오답노트)' 카테고리의 다른 글
제 2장 예외처리 -1 (0) | 2018.05.02 |
---|---|
제 1장 연산자 overloading - 1 (0) | 2018.04.08 |