cout Object
cout 객체 ("C-Out" 혹은 "Console-Output" 이라 읽는다)
문자를 출력하는 멤버함수로는 cout.put(char) 함수가 있다.
(cout.put()은 ostream 클래스에 문자를 출력하도록 설계된 멤버함수이다. << 연산자를 사용해 문자를 출력하는 것에 대한 대안으로 나온 함수인데, C++ Release 2.0 이전에 cout은 문자 변수들은 문자로 출력했지만 문자 상수들은 수로 출력하는 한계를 보완하기 위해 나온 개념이다. 현재 cout은 문자 상수도 정상적으로 문자로 출력한다. )
원래 put() 멤버는 하나의 함수원형 put(char)만 가지고 있었고, 이것에 매개변수로 int형을 전달하여 char형으로 변환할 수 있었다. 하지만 이후에 많은 C++ 버전에서 put(char)를 비롯해 put(signed char), put(unsigned char)까지 함수 원형으로 제공하게 되면서 단순히 put(int)로 사용하지 못하게 되었다.(int형을 매개변수로 넘길 경우, 선택할 수 있는 함수의 경우의 수가 두 가지 이상이기 때문이다. = 하나의 입력에 대한 출력이 하나가 아니다.)
따라서, int형을 매개변수로 전달하고자 하는 경우엔 cin.put(char(ch))와 같이 명시적 데이터형 변환이 필요하다.
Formatting Method
- setf() 메서드는 다양한 포맷팅 상태를 설정할 수 있게 하는 함수이며, 호출하기 전에 유효한 모든 포맷팅 설정들의 복사본을 리턴한다. (각 객체는 자기 자신의 포맷팅 설정을 저장하고 있다.)
setf(ios_base::fixed)
// 객체에 고정 소수점 표기를 사용하는 모드를 설정한다.
setf(ios_base:showpoint)
// 객체에 소수부에 0도 표시하는 모드를 설정한다.
precision(n)
// 객체가 고정 소수점 표기 모드에 놓였을 때 표시할 소수점 숫자의 개수를 지정한다.
width(n)
// 다음 출력 동작에 사용할 필드 폭을 설정한다.
// 하나의 값을 출력하고난 후, 디폴트값으로 돌아간다.
// (디폴트는 0이며, 이는 출력할 때 실제 크기에 맞게 확장된다.)