µÎ Ŭ·¡½º°¡ ¾ÆÁÖ ¹ÐÁ¢ÇÑ °ü·ÃÀÌ ÀÖ°í ¼·Î ¼û°ÜÁø ¸â¹ö¸¦ ÀÚÀ¯·Ó°Ô Àоî¾ß ÇÏ´Â »óȲÀ̶ó¸é Ŭ·¡½º¸¦ Åë°·Î ÇÁ·»µå·Î ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. Ŭ·¡½º ¼±¾ð¹®³»¿¡ ÇÁ·»µå·Î ÁöÁ¤ÇÏ°í ½ÍÀº Ŭ·¡½ºÀÇ À̸§À» ¹àÈ÷¸é µÈ´Ù. ´ÙÀ½ ¿¹´Â Any Ŭ·¡½º¸¦ Some Ŭ·¡½ºÀÇ ÇÁ·»µå·Î ÁöÁ¤ÇÏ´Â °ÍÀÌ´Ù.
class Some
{
friend class Any;
....
};
Any°¡ SomeÀÇ ÇÁ·»µå·Î ÁöÁ¤µÇ¾úÀ¸¹Ç·Î AnyÀÇ ¸ðµç ¸â¹ö ÇÔ¼öµéÀº SomeÀÇ ¸ðµç ¸â¹ö¸¦ ¸¶À½´ë·Î ¾×¼¼½ºÇÒ ¼ö ÀÖ´Ù. µÎ Ŭ·¡½º°¡ ÇùÁ¶ÀûÀ¸·Î µ¿ÀÛÇØ¾ß ÇѴٰųª »óÈ£ Á¾¼ÓÀûÀÎ °ü°è¿¡ ÀÖÀ» ¶§ ÇÁ·»µå·Î ÁöÁ¤Çϸé Æí¸®ÇÏ´Ù. ¾Õ ¿¹Á¦ÀÇ OutToday ÇÔ¼ö¸¦ Date Ŭ·¡½ºÀÇ ¸â¹ö ÇÔ¼ö·Î ¼±¾ðÇ쵂 Date¸¦ TimeÀÇ ÇÁ·»µå Ŭ·¡½º·Î ÁöÁ¤ÇØ º¸ÀÚ.
¿¹ Á¦ : FriendClass |
#include <Turboc.h>
class Time
{
friend class Date;
private:
int hour,min,sec;
public:
Time(int h,int m,int s) { hour=h;min=m;sec=s; }
};
class Date
{
private:
int year,month,day;
public:
Date(int y,int m,int d) { year=y;month=m;day=d; }
void OutToday(Time &t) {
printf("¿À´ÃÀº %d³â %d¿ù %dÀÏÀ̸ç Áö±Ý ½Ã°£Àº %d:%d:%dÀÔ´Ï´Ù.\n",
year,month,day,t.hour,t.min,t.sec);
}
};
void main()
{
Date D(2005,01,02);
Time T(12,34,56);
D.OutToday(T);
}
OutToday ÇÔ¼ö´Â Date Ŭ·¡½ºÀÇ ¸â¹ö ÇÔ¼ö·Î ¼±¾ðµÇ¾úÁö¸¸ Date°¡ TimeÀÇ ÇÁ·»µå Ŭ·¡½º·Î ÁöÁ¤µÇ¾î ÀÖÀ¸¹Ç·Î OutToday´Â Time °´Ã¼ÀÇ ¸ðµç ¸â¹ö¸¦ ÀÐÀ» ¼ö ÀÖ´Ù. ½ÇÇà °á°ú´Â ¾ÕÀÇ ¿¹Á¦¿Í µ¿ÀÏÇÏ´Ù. °³³äÀûÀ¸·Î ÀÌÇØÇϱ⠽¬¿î °£´ÜÇÑ ¿¹Á¦¸¦ º¸¿´´Âµ¥ ½ÇÁ¦·Î ÇÁ·»µå Ŭ·¡½º ÁöÁ¤ÀÌ ²À ÇÊ¿äÇÑ ¿¹´Â ´Ù¼Ò Å©°í º¹ÀâÇÏ´Ù. MFC ¶óÀ̺귯¸®ÀÇ °æ¿ì ´ÙÀ½°ú °°Àº ÇÁ·»µå Ŭ·¡½ºÀÇ ¿¹°¡ ¸¹ÀÌ Á¸ÀçÇÑ´Ù.
¢º CDocument°¡ CViewÀÇ ÇÁ·»µå
¢º CTimeÀÌ CTimeSpanÀÇ ÇÁ·»µå
¢º CToolBar°¡ CToolTipCtrlÀÇ ÇÁ·»µå
¢º CPropertySheet°¡ CPropertyPageÀÇ ÇÁ·»µå
¸ðµÎ ¾ÆÁÖ ¹ÐÁ¢ÇÑ °ü°è¿¡ Àִ Ŭ·¡½ºµéÀε¥ MFCÀÇ ±¸Á¶¸¦ °øºÎÇØ º¸¸é ÀÌ Å¬·¡½ºµéÀÌ ¿Ö ÇÁ·»µå¿©¾ß ÇÏ´ÂÁö ¾Ë°Ô µÉ °ÍÀÌ´Ù. CView¿Í CDocument´Â ÇϳªÀÇ ½Çü¿¡ ´ëÇØ °¢°¢ ¿ÜºÎ¿Í ³»ºÎ¸¦ ´Ù·ç´Â °ü·ÃÀִ Ŭ·¡½ºÀÌ´Ù. CView´Â ÀÚ½ÅÀÌ È¸é¿¡ Ãâ·ÂÇÒ µ¥ÀÌÅ͸¦ Àбâ À§ÇØ CDocumentÀÇ ¸â¹ö¸¦ ¸¶À½´ë·Î ÀÐÀ» ¼ö ÀÖ¾î¾ß Çϸç CToolTipCtrl Ŭ·¡½º´Â ÅøÆÁÀ» º¸¿©ÁÙ ¹öÆ°À̳ª ¿µ¿ªÀ» ±¸Çϱâ À§ÇØ CToolBarÀÇ ¸â¹ö¸¦ ¾×¼¼½ºÇØ¾ß ÇÑ´Ù.