<p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us">Soen페이지의 아래의 소스에 대한 설명을 보면 </span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><br></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us"><span style="font-size:13.3333330154419px;line-height:21.3333320617676px;text-indent:15.1333332061768px;">"Date는 날짜를 표현하는 클래스이며 Time은 시간을 표현하는 클래스이다. 정보를 기억하는 주요 변수들은 모두 private 영역에 선언되어 있어 외부에서 함부로 액세스하지 못하도록 하였다. OutToday함수는 이 두 클래스의 객체를 인수로 전달받아 날짜와 시간을 동시에 출력한다. 그러기 위해서 <b>OutToday는 양쪽 클래스의 모든 멤버를 읽을 수 있어야 하는데 Date나 Time의 멤버 함수로 포함되면 한쪽밖에 읽을 수 없을 것이다</b>. 한 함수가 동시에 두 클래스의 멤버 함수가 될 수는 없기 때문이다."</span></span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span style="font-size:13.3333330154419px;line-height:21.3333320617676px;text-indent:15.1333332061768px;"><br></span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span style="font-size:13.3333330154419px;line-height:21.3333320617676px;text-indent:15.1333332061768px;">라고 나와있는데 그런데 </span><b><span style="font-size:13.3333330154419px;line-height:21.3333320617676px;text-indent:15.1333332061768px;">양쪽 클래스의 모든 멤버</span><span style="font-size:13.3333330154419px;line-height:21.3333320617676px;text-indent:15.1333332061768px;">를</span></b><span style="font-size:13.3333330154419px;line-height:21.3333320617676px;text-indent:15.1333332061768px;"><b> 읽을때는</b> 반드시 클래스내부의 함수선언을 friend로 지정해야 하고 또 그 읽어들일 함수를 전역함수로 정의해야 하나요?</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span style="font-size:13.3333330154419px;line-height:21.3333320617676px;text-indent:15.1333332061768px;">아래 소스처럼 전역함수가 아닌 양쪽 두 클래스중 한 클래스의 프랜드 맴버함수로 정의해서 사용할 수 있는 방법은 없을까요?</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span style="font-size:13.3333330154419px;line-height:21.3333320617676px;text-indent:15.1333332061768px;">불가능 하다면 </span><span style="font-size:9pt;"><span style="font-size:13.3333330154419px;line-height:21.3333320617676px;text-indent:15.1333332061768px;">양쪽 클래스의 모든 멤버</span><span style="font-size:13.3333330154419px;line-height:21.3333320617676px;text-indent:15.1333332061768px;">를</span></span><span style="font-size:13.3333330154419px;line-height:21.3333320617676px;text-indent:15.1333332061768px;"> 읽을때는 무조건 전역함수로 정의해서 프랜드 지정해야 하는지 궁금하네요.</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span style="font-size:13.3333330154419px;line-height:21.3333320617676px;text-indent:15.1333332061768px;">답변 주시면 좋겠습니다.</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span style="font-size:13.3333330154419px;line-height:21.3333320617676px;text-indent:15.1333332061768px;"><br></span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us">#include <Turboc.h></span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us"> </span></p> <p></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us">class Date;</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us">class Time</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us">{</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us"> friend void OutToday(Date &,Time &);</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us">private:</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us"> int hour,min,sec;</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us">public:</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us"> Time(int h,int m,int s) { hour=h;min=m;sec=s; }</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us">};</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us"> </span></p> <p></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us">class Date</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us">{</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us"> friend void OutToday(Date &,Time &);</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us">private:</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us"> int year,month,day;</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us">public:</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us"> Date(int y,int m,int d) { year=y;month=m;day=d; }</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us">};</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us"> </span></p> <p></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us">void OutToday(Date &d, Time &t)</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us">{</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us"> printf("오늘은 %d년 %d월 %d일이며 지금 시간은 %d:%d:%d입니다.\n",</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us"> d.year,d.month,d.day,t.hour,t.min,t.sec);</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us">}</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us"> </span></p> <p></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us">void main()</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us">{</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us"> Date D(2005,01,02);</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us"> Time T(12,34,56);</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us"> OutToday(D,T);</span></p> <p class="a5" style="margin:0pt 8.5pt .0001pt;text-align:justify;line-height:12pt;border:none;padding:0pt;font-size:9pt;"><span lang="en-us">}</span></p>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.