[C++]2ºÎ°­ÁÂ(64)<--iostream.hÀÇ ºÐ¼®---<2ºÎ ³¡>



********************************************************
********************************************************

6-5 iostream.hÀÇ ºÐ¼®

C++ÀÌ Á¦°øÇÏ´Â I/O ½ºÆ®¸² Ŭ·¡½º ¶óÀ̺귯¸®´Â ´ÙÀ½°ú °°Àº Çì´õ ÆÄÀÏ¿¡ Á¤
ÀǵǾî ÀÖ´Ù.

iostream.h-ios, iostream µîµî
fstream.h- file I/O
strstrea.h-
iomanip.h- manipulator Á¤ÀÇ

ÀÌ Çì´õ ÆÄÀϵéÀ» ºÐ¼®Çغ¸´Â °ÍÀº I/O ½ºÆ®¸²À» ÀÌÇØÇÏ´Â °¡Àå È®½ÇÇÏ°íµµ
ºü¸¥ ¹æ¹ýÀÌÁö¸¸ °áÄÚ ½±°Ô º¸°í ´ýºô °ÍÀº µÇÁö ¸øÇÏ¸ç ¿Ïº®ÇÏ°Ô ´Ù ºÐ¼®ÇØ
³»±â¶õ ¾î·Æ´Ù. ´Ù¸¸ ´ëÃæÀÌ¶óµµ ÈȾ´Â °ÍÀÌ I/O ½ºÆ®¸²Àº ¹°·Ð OOP¸¦ ÀÌÇØ
ÇÏ´Â µ¥ ¸¹Àº µµ¿òÀÌ µÈ´Ù. I/O ½ºÆ®¸²ÀÇ Å¬·¡½º ±¸Á¶´Â ´ÙÀ½°ú °°´Ù.

¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤
¦¢                                                      ¦¢
¦¢                                                      ¦¢
¦¢                                                      ¦¢
¦¢                                                      ¦¢
¦¢                                                      ¦¢
¦¢                                                      ¦¢
¦¢                    ±×¸² »ý·«                         ¦¢
¦¢                                                      ¦¢
¦¢                                                      ¦¢
¦¢                                                      ¦¢
¦¢                                                      ¦¢
¦¢                                                      ¦¢
¦¢                                                      ¦¢
¦¦¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¥


À§¿¡ º¸ÀΠŬ·¡½º °èÃþ ±¸Á¶º¸´Ù ½ÇÁ¦·Î´Â ´õ ¸¹Àº Áß°£ °úÁ¤ÀÇ Å¬·¡½ºµéÀÌ
Á¸ÀçÇÏÁö¸¸ ´ëü·Î À§¿¡ Ç¥½ÃµÇ¾î Àִ Ŭ·¡½ºµé¸¸ ÀÌÇØÇϸé I/O ½ºÆ®¸²À» ÀÌ
ÇØÇÏ´Â °ÍÀÌ´Ù. ÀüüÀûÀ¸·Î µÎ °³ÀÇ root Ŭ·¡½º¿¡¼­ ÆÄ»ýµÇ´Â µÎ °³ÀÇ °èÃþ±¸
Á¶·Î ÀÌ·ç¾îÁ® ÀÖ´Ù. streambuf¸¦ root·Î Çϴ Ŭ·¡½º tree´Â ÁÖ·Î µ¥ÀÌÅ͸¦
Àӽ÷ΠÀúÀåÇÏ´Â ¹öÆÛ ¿ªÇÒÀ» ¼öÇàÇÑ´Ù. ios¸¦ root·Î Çϴ Ŭ·¡½º tree´Â ½Ç
ÁúÀûÀÎ ÀÔÃâ·Â ÀÛ¾÷À» Àü´ãÇϸç ÀÔ·ÂÀº istreamÀÌ, Ãâ·ÂÀº ostreamÀÌ ¸Ã°í ÀÖ
´Ù. i(o)streamÀº °¢°¢ ´Ù½Ã µÎ °³ÀÇ ÆÄ»ý Ŭ·¡½º¸¦ °¡Áö°í ÀÖÀ¸¸ç i(o)fstrea
mÀº ÆÄÀÏÀÔÃâ·ÂÀ» ´ã´çÇÏ°í i(o)stream_withassignÀº ÁÖ·Î console ÀÔÃâ·ÂÀ»
´ã´çÇÑ´Ù. ¿ì¸®°¡ ¾ÕÀý¿¡¼­ ÀÚÁÖ »ç¿ëÇß´ø cin,coutÀÌ i(o)stream_withassign
Ŭ·¡½ºÀÇ °´Ã¼À̸ç ÀÌ Å¬·¡½ºµéÀº ±â¹Ý Ŭ·¡½ºÀÎ i(o)streamÀÇ Æ¯¼º¿¡ 2°³ÀÇ
ġȯ ¿¬»êÀÚ°¡ Ãß°¡·Î Á¦°øµÈ´Ù´Â °Í ¿Ü¿¡ i(o)stream°ú µ¿ÀÏÇÏ´Ù. I/O ½ºÆ®¸²
À» ºÐ¼®Çϱâ À§Çؼ­´Â root Ŭ·¡½ºÀÎ ios¿Í ios·ÎºÎÅÍ ÆÄ»ýµÇ¾îÁ® ³ª¿Â i(o)st
reamÀ» ºÐ¼®ÇÏ¸é µÈ´Ù.
¿©±â¼­ ¼¼¼¼ÇÑ ºÐ¼®À» ´Ù ÇÒ ¼ö´Â ¾ø°í ´Ù¸¸ ¿©·¯ºÐµéÀÌ Á÷Á¢ ºÐ¼®Çغ¸±â¸¦
±ÇÇغ¸±â¸¦ ¹Ù¶ö »ÓÀÌ´Ù. iostream.h¸¦ ºÐ¼®ÇÏ´Ù º¸¸é ´ÙÀ½°ú °°Àº ¾ÆÁÖ Èï¹Ì
ÁøÁøÇÑ(?) ¿¬»êÀÚ ÇÔ¼ö Á¤Àǹ®µµ ¸¸³¯ ¼ö ÀÖ´Ù. ÇÊÀÚ°¡ ¹«·Á 30ºÐ °¡·®À̳ª °í
¹ÎÇؼ­ ¸¸µé¾î ³½ °á·ÐÀ̸ç Ȥ½Ã Ʋ¸° ºÎºÐÀÌ ÀÖÀ»Áöµµ ¸ð¸£°Ú´Ù.

inline ostream _FAR & _Cdecl ostream::operator<< ( ostream _FAR &
(_Cdecl *_f)(ostream _FAR &))
{
 return (*_f)(*this);
}

ostream Ŭ·¡½ºÇüÀÇ ¿ø°Å¸® reference¸¦ Àμö·Î ÃëÇÏ°í ostream ÇüÀÇ ¿ø°Å¸®
reference¸¦ ¸®ÅÏÇÏ´Â C È£Ãâ °üÇàÀ» µû¸£´Â ÇÔ¼öÀÇ ¹øÁö¸¦ pointÇÏ´Â Æ÷ÀÎÅÍ
º¯¼ö _f¸¦ Àμö·Î ÃëÇϸç ostream Ŭ·¡½ºÇüÀÇ ¿ø°Å¸® reference¸¦ ¸®ÅÏÇÏ´Â C
È£Ãâ °üÇàÀ» µû¸£´Â inline¼Ó¼ºÀÇ ostream Ŭ·¡½ºÀÇ ¸â¹ö ¿¬»êÀÚ ÇÔ¼ö << ¸¦,
ÀÌ ¿¬»êÀÚ ÇÔ¼ö¸¦ È£ÃâÇÏ´Â °´Ã¼¸¦ Àμö·Î ÃëÇÏ´Â ÇÔ¼ö Æ÷ÀÎÅÍ _f°¡ pointÇÏ´Â
ÇÔ¼öÀÇ ¸®ÅÏ°ªÀ» ¸®ÅÏÇÏ´Â ÇÔ¼ö·Î Á¤ÀÇÇÑ´Ù.

ÀÌ»óÀ¸·Î OOP ±âÃÊ°­Á 2ºÎ±îÁö ¸ù¶¥ ¸¶Ä¨´Ï´Ù. ¹Ù»Û ½Ã°£À» ÂÉ°³ ÀÌ °­Á¸¦
ÀоîÁֽŠºÐµé²² ½É½ÉÈ÷ °¨»çµå¸®¸ç ´õ ¸íÄèÇÏ°í °£°áÇÒ ±ÛÀ» ¾µ ¼ö ¾ø´Â ÇÊÀÚ
ÀÇ ¹«´É·ÂÇÔÀÌ »õ»ï Àý½ÇÈ÷ ¿ø¸Á½º·´½À´Ï´Ù. ÀÌ °­Á°¡ ¿©·¯ºÐ¿¡°Ô Á¶±ÝÀ̶óµµ
µµ¿òÀÌ µÇ¼ÌÀ¸¸é ÇÕ´Ï´Ù. ±×·±µ¥ OOP´Â Á¤¸» ¾î·Æ½À´Ï´Ù. ¾Ë µí ¸ð¸¦ µí Ç×»ó
Çò°¥¸®°Åµç¿ä.


À̾ °è¼ÓµË´Ï´Ù. ==============>>>>>>>


-----------------------------------------------------------------

    

 Ã³À½