본문 바로가기

Native/C++

friend func

[code]#include <turboc.h>

class Date;
class Time
{
    // 프렌드 함수는 전역, 클래스, 맴버 함수의 세가지 수준에서
    // 지정할 수 잇는데 이를 지정하게 되면 전역 변수 처럼
    // 사용할 수 있다.
    friend void outToDay(Date &, Time &);
private:
    int hour, min, sec;
public:
    Time(int h, int m, int s)
    {
        hour = h;
        min = m;
        sec = s;
    }
};

class Date
{
    friend void outToDay(Date &, Time &);
private:
    int year, month, day;
public:
    Date(int y, int m, int d)
    {
        year = y;
        month = m;
        day = d;
    }
};

// 해당 함수는 두 클래스의 맴버를 읽어야 되기 때문에
// friend 를 이용 양쪽 에서 모두 사용할 수 있게끔
// 변경하였다 ...
void outToDay(Date &d, Time &t)
{
    printf("오늘은 %d년 %d월 %d일 이며 지금 시간은 %d:%d:%d 입니다.",
        d.year, d.month, d.day, t.hour, t.min, t.sec);
}

void main()
{
    Date D(2004,01,11);
    Time T(12, 34, 13);

    outToDay(D, T);
}[code]

'Native > C++' 카테고리의 다른 글

friend memory  (0) 2013.10.02
friend class  (0) 2013.10.02
kbhit()  (0) 2013.10.02
데이터의 보호  (0) 2013.10.02
형변환 금지 explicit  (0) 2013.10.02