<div>아래의 소스를 컴파일하면 </div> <div> <div> error C2039: 'OutToday' : 'Time'의 멤버가 아닙니다.</div> <div> 'Time' 선언을 참조하십시오.</div> <div>1></div></div> <div>라고 나오는데요</div> <div>그런데 friend선언을 클래스에 하면</div> <div>선언을 받은 클래스는 friend선언한 클래스의 모든 맴버에 접근할 수 있는 걸로 아는데</div> <div>근데 왜 Time와 Date클래스에 서로의 클래스를 friend선언을 했는데 </div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>T.OutToday(T); 문장에서 <span style="font-size:9pt;line-height:1.5;">'Time'의 멤버가 아니라고 나오나요?</span></div> <div>클래스에 프랜드를 선언하면 상대편 클래스에서 맴버변수와 함수 전부 다 접근 가능한 것 아닌가요?</div> <div>양 클래스에 프렌드 선언을 했는데 어째서 이런 에러가 나오는지 알고 싶네요.</div> <div><br></div> <div>#include <iostream></div> <div>#include <string.h></div> <div><br></div> <div><br></div> <div><br></div> <div>class Time</div> <div>{</div> <div>friend class Date;</div> <div>private:</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int hour,min,sec;</div> <div>public:</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>Time(int h,int m,int s)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>hour=h;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>min=m;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>sec=s;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div>};</div> <div>class Date</div> <div>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>friend class Time;</div> <div>private:</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int year,month,day;</div> <div>public:</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>Date(int y,int m,int d)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>year=y;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>month=m;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>day=d;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>void OutToday(Time &t)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>printf("오늘은 %d년 %d월 %d일이며 지금 시간은 %d:%d:%d입니다.\n",year,month,day,t.hour,t.min,t.sec);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div>};</div> <div>void main()</div> <div>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>Date D(2005,01,22);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>Time T(12,34,56);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>T.OutToday(T);</div> <div>}</div> <div><br></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.