프로그래밍/C++2012. 4. 28. 23:26

 

하기내용에서 사용된 코드는  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
Posted by code cat