쉬프트 연산자 <<, >> |
쉬프트 연산자 오버로딩 |
cout.operator<< (p) 즉, p객체를 인자값을 받을 수 있도록 cout 객체에는 operator<< 연산자가 오버로딩 되어 있어야 하는데, 표준 std의 ostream 클래스에서도 쉬프트 연산에 대한 오버로딩이 정의 되어 있지 않다. 그래서 우리가 표준 라이브러리를 건드리면서까지 객체를 출력하는 일은 불가능 할 것이다.
이로서 멤버 함수로의 오버로딩으로는 객체를 출력할 수 없다는 것을 알 수 있었다. 그럼 전역 함수의 오버로딩을 보자.전역함수로의 오버로딩에서는 cout << p 문장은 operator (cout, p); 로 풀어 써지고, 이것은 논리적으로 문제가 없다. 그럼 전역함수로 오버로딩으로 다음과 같이 함수를 정의 할 수 있겠다.
'Programming > C / C++' 카테고리의 다른 글
[C++] 템플릿 (Template) (1) | 2010.09.20 |
---|---|
[C++] 대입 연산자 오버로딩 (1) | 2010.09.19 |
[C++] 연산자 오버로딩 - 교환법칙의 성립과 임시객체(Temporary Object) (0) | 2010.09.18 |
[C++] 단항 연산자 오버로딩 (3) | 2010.09.18 |
[C++] 연산자 오버로딩 (Operator Overloading)의 두가지 방법 (1) | 2010.09.18 |