cin,cout 의 의미


사람들은 간혹 cin,cout 을 함수라고 부른다..
이런 .. 말도 안되는 말이다.

cin, cout 은 각각 istream과 ostream으로 정의된 하나의 객체이다.
우리가 <<로 많은 타입에 관계없이 쓸 수 있는것은 <<가 그 많은 타입에 연산자오버로딩이 되어있기 때문 .. 

이제 제발 함수라고 하지말자 객체다!!!



소스를 한번 보자

#include <iostream>
using std::cout;
using std::cin;
  
 namespace std{
  
  //클래스
  class ostream{
   <생략>
  }
  //클래스
  class istream{
   <생략>
  }
  ostream cout;  //cout 이라는 객체.
  istream cin;  //cin 이라는 객체.
 }
 
 이렇게 되있다 .. 우리는 여기서 cout 클래스 객체를 쓰고 있는 것이다 .
 cout<<23; 이라고 작성하면 화면에 23이 출력 된다 .

 그 이유는 간단하다 바로 연산자 오버로딩을 선언 해줬기 때문이다. 
 ostrem 클래스에 .. operator<<(int num) 이렇게 함수가 정의 되 있기 때문에

 우리는 이것을 cout을 통하여 쓸수 있는 것이다 . 



심심해서 추가적으로 더 조사해봤다.
cin,cout에서 많이 쓰이는 멤버함수들이란다~
물론 난 안쓰니 패스~

width( int n ) : 문자 폭을 n으로 설정
precision( int n ) : 부동 수수점의 소수부분의 자리를 n으로 설정
put( char c ) : 문자 c를 출력
get( char c) : 문자 c에 입력(공백 포함). 파일의 끝에 거짓으로 반환. int형
write( char *p, int n ) : 버퍼 p의 바이트를 출력
read( char *p, int n ) : 버퍼 p의 바이트를 출력
eof() : 스트림의 끝에 참을 반환. int형
flush() : 스트림의 플러시 
 

이 글을 공유하기

댓글

Designed by JB FACTORY