<div>class A</div> <div>{</div> <div>public:</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>virtual void prnt() = 0;</div> <div>};</div> <div><br></div> <div>class B : public A</div> <div>{</div> <div>public:</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int b;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>B(int _b) : b(_b) {}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>void prnt() { cout << "자식 " << b << endl;; }</div> <div>};</div> <div><br></div> <div>class C : public A</div> <div>{</div> <div>public:</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int c;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>C(int _c) : c(_c) {}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>void prnt() { cout << "자식 " << c << endl;; }</div> <div>};</div> <div><br></div> <div>class D</div> <div>{</div> <div>public:</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>list<A*> aList;</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>list<A*>::iterator operator[](int temp) // 리스트를 배열처럼 접근하기 위한 연산자 오버로딩</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>list<A*>::iterator iter = aList.begin();</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for (int i = 0; i < temp; i++)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>iter++;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return iter;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div>};</div> <div><br></div> <div>void main()</div> <div> <div>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>map<int, D*> dMap;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>D dd;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>D da;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>B *bb = new B(1);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>C *cc = new C(2);</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>dd.aList.push_back(bb);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>dd.aList.push_back(cc);</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>bb = nullptr;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>cc = nullptr;</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>bb = new B(3);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>cc = new C(4);</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>da.aList.push_back(bb);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>da.aList.push_back(cc);</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>dMap.insert(pair<int, D*>(0, &dd));</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>dMap.insert(pair<int, D*>(1, &da));</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>//dMap[0]->aList.front()->prnt(); // 키값이 0인 리스트의 첫번째 멤버의 함수 호출</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>//(*da[0])->prnt(); // 접근가능</div> <div><br></div> <div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>(*dMap[0][0][0])->prnt(); //키값이 0인 멤버의 0번째 함수</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>(*dMap[0][0][1])->prnt(); //키값이 0인 멤버의 1번째 함수</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>(*dMap[1][0][0])->prnt(); //키값이 1인 멤버의 0번째 함수</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>(*dMap[1][0][1])->prnt(); //키값이 1인 멤버의 1번째 함수</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>cout << endl << "----------------------" << endl << endl;</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>(*(*dMap[0])[0])->prnt(); //키값이 0인 멤버의 0번째 함수</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>(*(*dMap[0])[1])->prnt(); //키값이 0인 멤버의 1번째 함수</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>(*(*dMap[1])[0])->prnt(); //키값이 1인 멤버의 0번째 함수</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>(*(*dMap[1])[1])->prnt(); //키값이 1인 멤버의 1번째 함수</div></div> <div>}</div></div> <div><br></div> <div> <div>아무래도 가운데 있는 [0]이 *역할을 하는 것 같다...</div> <div>가운데 [0]을 [1]로 바꾸면 터진다...</div></div> <div><br></div> <div>(*dMap[0][1])을 시도했다가 계속 메모리가 터져서</div> <div>알아내는데 한시간 날려먹었다...</div>
<img src="http://i.imgur.com/3V95moz.gif" alt="3V95moz.gif"><br><img_ src="http://activexxx.mooo.com/ouavatar/new_ouavatar.php?start=true&rotate=&crop=&hyperlink=http%3A%2F%2Factivexxx.mooo.com%2Fouavatar%2Fouavatar_menu.php&title=%EC%98%A4%EB%8A%98%EC%9D%98%EC%9C%A0%EB%A8%B8+%EC%95%84%EB%B0%94%ED%83%80+%EA%BC%AC%EB%A6%BF%EB%A7%90+%EC%84%9C%EB%B9%84%EC%8A%A4+by+ActiveXXX&step_1=&type=end&body_num=4&body_color=A52A2A&oumark_color=a4c4db&oumark_gloss_opacity=100&squid_num=2&squid_left_direction=up&squid_right_direction=down&skin_color=ffb273&hair_num=2&hair_color=450000&blush_num=1&blush_color=FF8973&brow_num=6&brow_color=050708&eyes_num=6&eyes_color=FFFFFF&glasses_num=1&glasses_border_color=ff0000&glasses_lens_color=7bc3f7&glasses_opacity=64&nose_num=3&nose_color=030608&mouth_num=8&mouth_color=&tongue_color=12171a&bottom_num=1&bottom_color=0d1012&language=ko_kr&rtl=on&mn=113899&about1=&about2=&nick_icon=ribbon&star_color=FFA500&background_color=ADD8E6&text_color=000000&about_color=0E76DC&end=true&isold&.png" alt="오늘의유머 아바타 꼬릿말 서비스 by ActiveXXX" style="margin:0 auto;display:block;"><img_ src="http://thimg.todayhumor.co.kr/upfile/201111/1320567907315.jpg" alt="1320567907315.jpg"><img_ src="http://todayhumor.berrke.com/tails/ijveKFrDs0Ku8p6L95aqf9mtGcSN.png" alt="ijveKFrDs0Ku8p6L95aqf9mtGcSN.png">
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.