[C++]2ºÎ°­ÁÂ(57)<--I/O ½ºÆ®¸²





I/O ½ºÆ®¸²À» »ç¿ëÇÔ¿¡ ÀÖ¾î Á¦ÀÏ À¯ÀÇÇÒ °ÍÀº Çì´õ ÆÄÀÏ iostream.h¸¦ ¹Ýµå
½Ã Æ÷ÇÔ½ÃÄÑ ÁÖ¾î¾ß ÇÑ´Ù´Â °ÍÀÌ´Ù. I/O ½ºÆ®¸²Àº iostream.h¿¡ ÀÇÇØ Á¤Àǵǰí
Á¦°øµÇ´Â ¹Ì¸® ¸¸µé¾îÁø Ŭ·¡½º¿Í objectÀÌÁö C++ÀÌ ¿øõÀûÀ¸·Î Á¦°øÇØÁÖ´Â °Í
ÀÌ ¾Æ´Ï´Ù. C++Àº ´Ù¸¸ I/O ½ºÆ®¸²ÀÌ Á¤ÀÇµÉ ¼ö ÀÖ´Â OOPÀûÀÎ ¹®¹ý¸¸À» Á¦°øÇØ
ÁÙ »ÓÀ̸ç I/O ½ºÆ®¸²Àº C++ ¹®¹ýÀ» ±â¹ÝÀ¸·Î Çì´õ ÆÄÀÏ¿¡ Á¤ÀÇµÈ Å¬·¡½º ¶óÀÌ
ºê·¯¸®¶ó°í ÇÒ ¼ö ÀÖ´Ù.
±×·¡¼­ Á¦ÀÏ Ã¹Çà¿¡ #include <iostream.h>°¡ ¹Ýµå½Ã ÀÖ¾î¾ß ÇÑ´Ù. main³»ÀÇ
ù 3ÇàÀº °¢°¢ ÇüÀÌ ´Ù¸¥ Á¤¼öÇü, ½Ç¼öÇü, ¹®ÀÚÇü º¯¼öµéÀ» ¼±¾ðÇÏ°í À̾ c
out¸¦ »ç¿ëÇØ °¢ º¯¼ö¸¦ Ãâ·ÂÇÑ´Ù. cout << i << '\n'Àº Ãâ·ÂÀ» ´ã´çÇÏ´Â cout
¿¡ ¸ÕÀú Á¤¼öÇü º¯¼ö i¸¦ º¸³»°í °ð¹Ù·Î °³Çà ¹®ÀÚ°¡ ¿¬ÀÌ¾î º¸³»Áö´Â ¹®ÀåÀÌ
´Ù. ³ª¸ÓÁö µÎ °³ÀÇ cout¹®µµ °°Àº ±¸Á¶ÀÌ´Ù.
¿©±â¼­ º¸´Ù½ÃÇÇ cout¹®Àº Àڽſ¡°Ô·Î º¸³»Áö´Â µ¥ÀÌÅÍ°¡ Á¤¼öµç ½Ç¼öµç ¹®ÀÚ
¿­ÀÌµç °¡¸®Áö ¾Ê°í Ãâ·ÂÇÒ ¼ö ÀÖ´Ù. printf°¡ Ãâ·ÂÇÒ µ¥ÀÌÅÍ ¿Ü¿¡ µ¥ÀÌÅÍÀÇ
ÇüŸ¦ ¹àÇôÁÖ´Â ¼­½Ä %d,%f,%s µîÀÌ Ãß°¡·Î ÇÊ¿äÇÏ´Ù´Â °Í°ú´Â ´ëÁ¶µÈ´Ù. ÀÌ
·¸°Ô cout°¡ µ¥ÀÌÅÍÇüÀ» °¡¸®Áö ¾Ê°í Ãâ·ÂÀ» Çس¾ ¼ö ÀÖ´Â °ÍÀº coutÀÇ ¼Ò¼Ó
Ŭ·¡½ºÀÎ ostream¿¡ Á¤ÀǵǾî ÀÖ´Â Ãâ·Â ¿¬»êÀÚ <<°¡ °¢°¢ÀÇ µ¥ÀÌÅÍÇü¿¡ ´ëÇØ
°³º°ÀûÀ¸·Î ÀÏÀÏÀÌ ´Ù Á¤ÀǵǾî Àֱ⠶§¹®ÀÌ´Ù.
Ãâ·Â ¿¬»êÀÚ << °¡ µ¥ÀÌÅÍÇü¿¡ »ó°ü¾øÀÌ Ãâ·ÂÀ» Çس»´Â °ÍÀÌ ¾Æ´Ï¶ó, Á¤¼öÇü
À» Ãâ·ÂÇÏ´Â <<, ½Ç¼öÇüÀ» Ãâ·ÂÇÏ´Â <<, ¹®ÀÚ¿­À» Ãâ·ÂÇÏ´Â << µîµîÀÌ ¸ðµÎ ´Ù
Á¸ÀçÇϸç Ãâ·ÂÇÑ µ¥ÀÌÅÍ¿¡ ¸Â°Ô ÀûÀýÇÑ Ãâ·Â ¿¬»êÀÚ <<°¡ ¼±ÅõȴÙ. cout°¡ µ¥
ÀÌÅÍÇüÀ» °¡¸®Áö ¾Ê°í Ãâ·ÂÇÒ ¼ö ÀÖ´Â ´É·ÂÀº ÀμöÀÇ µ¥ÀÌÅÍ Å¸ÀÔÀÌ ´Ù¸£¸é µ¿
ÀÏ À̸§ÀÇ ÇÔ¼ö¸¦ ±¸ºÐÇس»´Â C++ÀÇ ´ÙÇü¼º(polymorphism)¿¡ ±âÀÎÇÑ´Ù°í ÇÒ ¼ö
ÀÖ´Ù. ´ÙÀ½Àº << ¿¬»êÀÚ°¡ ¿©·¯ °³ Áߺ¹µÇ¾î ´Ù¼öÀÇ µ¥ÀÌÅ͸¦ Ãâ·ÂÇÒ ¼ö ÀÖ´Â
´É·ÂÀ» ±¸°æÇغ¸ÀÚ. ±×¸®°í ±× ¹®¹ýÀûÀÎ ÀÌÀ¯¸¦ µûÁ®º¸ÀÚ.

#include <iostream.h>
void main()
{
int i=5;
double j=3.1415;
cout << "integer is " << i << " real is " << j <<  '\n';cout
<< 'a' << 3 << "string" << 57.12 << '\n';
}

Ãâ·Â °á°ú´Â ´ÙÀ½°ú °°´Ù.

integer is 5 real is 3.1415
a3string57.12

»ó½ÄÀûÀ¸·Î ±×¸®°í Àΰ£ÀÇ ¾ð¾î¿Í ºñ±³Çؼ­ º»´Ù¸é Áö±ØÈ÷ ´ç¿¬Çغ¸ÀÌÁö¸¸ ÀÌ
·¸°Ô µÇ´Â ÀÌÀ¯¸¦ ¼³¸íÇس»±â À§Çؼ­´Â ¿¬»êÀÚÀÇ ¼Ó¼º¿¡ ´ëÇÑ »õ·Î¿î ÀÌÇظ¦
¿ä±¸ÇÑ´Ù. ¹Ù·Î ´ÙÀ½¿¡ ±â¼úÇÑ ¿Ü¿öµÑ¸¸ÇÑ Áß¿äÇÑ ¼Ó¼º ¶§¹®ÀÌ´Ù.

¿¬»êÀÚµµ Àμö¸¦ ÃëÇÏ¸ç ¸®ÅÏ°ªÀÌ ÀÖ´Ù´Â ¸é¿¡¼­ ÇÔ¼ö¿Í µ¿µîÇÏ´Ù.

ÇÔ¼ö°¡ Àμö¸¦ ÃëÇÏ°í ¸®ÅÏ°ªÀ» ¹Ý³³ÇÑ´Ù´Â °ÍÀº ÀÌ¹Ì Àß ¾Ë°í ÀÖÀ» °ÍÀÌ°í
¿Ö±×·±°¡, ±×·¸°Ô µÇ´Â ÀÌÀ¯¿Í Çʿ伺Àº ¹«¾ùÀΰ¡µµ ¿Ø¸¸Å­ ±âº»ÀûÀÎ °øºÎ¸¦
ÇÑ »ç¶÷ÀÌ¸é ´Ù ¼³¸íÇس¾ ¼ö ÀÖ´Ù. ÇÏÁö¸¸ ¿¬»êÀÚ°¡ ÇÔ¼ö¿Í µ¿µîÀ̶ó´Â ¸»Àº
¾ó¸¥ ÀÌÇØ°¡ °¡Áö ¾ÊÀ» »ç¶÷µµ ºÐ¸íÈ÷ ÀÖÀ» °ÍÀÌ´Ù. °¡Àå °£´ÜÇÏ°í ¿ì¸®¿¡°Ô
Ä£¹ÐÇÑ ´õÇϱ⠿¬»êÀÚ +¸¦ º¸ÀÚ.
+ ¿¬»êÀÚ´Â µÎ °³ÀÇ Àμö¸¦ Á¿쿡 Çϳª¾¿ °¡Áö¸ç, À̶§ ¿¬»êÀÚÀÇ Àμö¸¦ Ư
º°È÷ ÇÇ¿¬»êÀÚ(operand) ¶ó°í ºÎ¸¥´Ù. + ¿¬»êÀÚ´Â ¹Ýµå½Ã Àμö°¡ µÎ °³ ÀÖ¾î¾ß
ÇÏ¸ç ³²°Å³ª ¸ðÀÚ¶ó¼­´Â ¾ÈµÈ´Ù. ±×·¡¼­ + ¿¬»êÀÚ´Â Àμö¸¦ ¹Ýµå½Ã µÎ °³ ÃëÇÏ
´Â ÀÌÇ× ¿¬»êÀÚ¶ó°í ÇÑ´Ù. + ¿¬»êÀÚÀÇ ¸®ÅÏ°ªÀº µ¡¼ÀÀ» ÇÑ °á°úÀÌ´Ù.

a=3+5;

¿©±â¼­ + ¿¬»êÀÚÀÇ Àμö´Â 3°ú 5ÀÇ Á¤¼öÇü »ó¼ö µÎ °³ÀÌ¸ç ¸®ÅÏ°ªÀº Á¤¼öÇü
»ó¼ö 8ÀÌ µÈ´Ù. ¿©·¯ °³ÀÇ µ¡¼À ¿¬»êÀÚ°¡ Áߺ¹µÇ¾î »ç¿ëµÈ °æ¿ì¸¦ º¸ÀÚ.

a=1+2+3+4;

»ç¶÷À̶ó¸é ¸ù¶¥ ´õÇؼ­ Çѹø¿¡ 10À» °è»êÇØ ³»°ÚÁö¸¸ ÄÄÇ»ÅÍ´Â Çѹø¿¡ °è»ê
ÇØ ³¾ ¼ö ÀÖ´Â ´É·ÂÀÌ ¾ø±â ¶§¹®¿¡ Á¤ÇØÁø ¼ø¼­¿¡ µû¶ó ´Ü°è¸¦ ¹â¾Æ ½ÇÇàÇØ °¡
¾ß ÇÑ´Ù.

1. + ¿¬»êÀÚÀÇ °áÇÕ ¼ø¼­´Â ÁÂÃø ¿ì¼±À̹ǷΠÁ¦ÀÏ ¸ÕÀú 1+2°¡ °è»êµÈ´Ù. Áï 1
°ú 2¸¦ Àμö·Î ÃëÇØ µ¡¼À ¿¬»êÀ» Çϸç 1+2 ÀüüÀÇ ¸®ÅÏ°ªÀº Á¤¼öÇü »ó¼ö 3ÀÌ
µÈ´Ù. a=3+3+4;°¡ µÈ´Ù.
2. µÎ ¹ø° + ¿¬»êÀÚ°¡ ½ÇÇàµÈ´Ù. Àμö 3°ú 3À» ÃëÇØ µ¡¼À ¿¬»êÀ» ÇÑ °á°ú 6À»
¸®ÅÏÇϸç a=6+4°¡ µÈ´Ù.
3. ¼¼ ¹ø° +¿¬»êÀÚ°¡ 10À» ¸®ÅÏÇϸç a=10ÀÌ µÈ´Ù.
4. a¿¡ 10ÀÌ ´ëÀԵȴÙ. À̶§µµ = ¿¬»êÀÚ°¡ a¿Í 10À» Àμö·Î ÃëÇØ ´ëÀÔ ¿¬»êÀ»
ÇÏ¸ç ¸®ÅÏ°ªÀº 10ÀÌ´Ù. À̶§ÀÇ ¸®ÅÏ°ªÀº ¹ö·ÁÁø´Ù (a¿¡ ´ëÀԵǴ 10Àº ¸®ÅÏ°ª
10°ú´Â Àǹ̰¡ ´Ù¸£´Ù).

¿©±â±îÁö´Â ¾ÆÁÖ ½±°Ô ´©±¸³ª Àб⸸ Çϸé ÀÌÇظ¦ ÇÒ °ÍÀÌ´Ù. ¶È°°Àº ¼ø¼­´ë
·Î <<¿¬»êÀÚÀÇ °æ¿ìµµ »ìÆ캸ÀÚ. iostream.h¿¡ Á¤ÀǵDZ⸦ <<¿¬»êÀÚ´Â Áº¯¿¡
ÀÔÃâ·Â °´Ã¼(cout)¸¦ ÃëÇÏ°í ¿ìº¯¿¡´Â Ãâ·ÂÇÒ µ¥ÀÌÅ͸¦ ÃëÇÏ¸ç ¸®ÅÏ°ªÀº ÀÔÃâ
·Â °´Ã¼ÀÌ´Ù. << ¿¬»êÀÚ´Â Àμö µ¥ÀÌÅÍ Å¸ÀÔ¿¡ µû¶ó ¿©·¯°¡Áö°¡ ÀÖÁö¸¸ Á¤¼öÇü
Àμö¸¦ ÃëÇÏ´Â << ¿¬»êÀÚÀÇ ¿øÇü¸¸ ´ëÇ¥·Î º¸¸é ÀÌ »ç½ÇÀ» ¾Ë ¼ö ÀÖ´Ù.

ostream &operator <<(int);

ostreamÀ̶õ ÀÔÃâ·Â °´Ã¼ cout°¡ ¼Ò¼ÓµÈ Ŭ·¡½º À̸§ÀÌ´Ù. ´ÙÀ½ Ãâ·Â¹®À» º¸
ÀÚ. ±×¸®°í ½ÇÇà ´Ü°è¸¦ µû¶ó °¡ º¸ÀÚ.

cout << "integer is " << i << " real is " << j << '\n';

1. << ¿¬»êÀÚ´Â ¿ø·¡ ºñÆ® shift ¿¬»êÀÚÀÌÁö¸¸ ¿©±â¼­´Â Ãâ·Â ¿¬»êÀÚ·Î ¿À¹ö·Î
µù µÇ¾ú´Ù. µû¶ó¼­ ¿¬»ê ¼øÀ§¿Í °áÇÕ ¼ø¼­´Â ºñÆ® shift ¿¬»êÀÚÀÇ °ÍÀ» ±×´ë·Î
µû¸£°Ô µÇ¸ç ÁÂÃø ¿ì¼±ÀÇ °áÇÕ ¼ø¼­¸¦ °¡Áø´Ù. ¸ÕÀú cout << "integer is" ¿¬
»êÀÌ ½ÇÇàµÇ¸ç ÀÌ ¿¬»ê¿¡ ÀÇÇØ "integer is"°¡ È­¸é¿¡ Ãâ·ÂµÇ°í ¸®ÅÏ°ªÀº ÀÔÃâ
·Â °´Ã¼ cout°¡ µÈ´Ù. À§ ½ÄÀº cout << i << "real is " << j << '\n';ÀÌ µÈ´Ù.
2. µÎ ¹ø° cout << i°¡ ½ÇÇàµÇ¸ç ÀÌ ¿¬»ê¿¡ ÀÇÇØ iÀÇ °ªÀÌ È­¸é»óÀ¸·Î Ãâ·ÂµÇ
°í cout << i´Â  cout°¡ µÈ´Ù. À§ ½ÄÀº ´Ù½Ã cout << "real is " << j << '\n';
ÀÌ µÈ´Ù.
3. "real is"°¡ Ãâ·ÂµÇ¸ç À§ ½ÄÀº ´Ù½Ã cout << j << '\n'; ÀÌ µÈ´Ù.
4. j°ªÀÌ Ãâ·ÂµÇ°í cout << '\n'; ÀÌ µÈ´Ù.
5. ¸¶Áö¸·À¸·Î °³Çà ¹®ÀÚ '\n'ÀÌ Ãâ·ÂµÇ¸ç ÀüüÀÇ ¿¬»êÀº ³¡ÀÌ ³­´Ù. ¸¶Áö¸·
¸®ÅÏ°ªÀÎ coutÀº »ç¿ëµÇÁö ¾Ê´Â´Ù.

±×¸²À¸·Î ÀüüÀÇ ½ÇÇà ¼ø¼­¸¦ ±×·Áº¸¸é ´ÙÀ½°ú °°´Ù.

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

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


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

    

 ´ÙÀ½