하기내용에서 사용된 코드는 Android Framework 분석을 위한 c++ 에서 사용된 코드임을 밝힙니다.
1. cout, endl의 원리
cout은 원래 객체이며, endl의 경우 함수이다. 아래는 cout과 endl를 구현해 본 소스코드이다.
추가로 tab이나 two_endl의 사용자정의 함수도 추가했다.
그럼 이게 기존거랑 충돌이 나느냐? 아래를 보자.
위와 같이 우리가 만든 함수들도 기존 std 네임스페이스와 같이 쓸 수 있다.
cout은 c와 달리 출력 형태가 무엇인지 정해주지 않아도 된다. 그렇다면 사용자 정의 객체 일 경우 어떻게 해야 할까?
아래는 사용자 정의 객체인 Point를 만든 코드이다.
cout << p; 이 부분은 결국 cout.operator<<(Point)가 있으면 된다.
'프로그래밍 > C++' 카테고리의 다른 글
C++에서 C 함수 사용하기 (0) | 2013.02.02 |
---|---|
생성자 뒤에 : 붙는 경우 (0) | 2013.01.01 |
Android Framework 분석을 위한 C++ 4일차 (0) | 2012.04.26 |
[C++] Smart Pointer (0) | 2012.04.25 |
Android Framework 분석을 위한 C++ 3일차 (0) | 2012.04.25 |