<span style="color:#1d2129;font-family:'San Francisco', '-apple-system', BlinkMacSystemFont, sans-serif;font-size:14px;letter-spacing:-.24px;line-height:19.32px;">질문이 있습니다. 예외 처리를 공부중인데요. </span><br style="color:#1d2129;font-family:'San Francisco', '-apple-system', BlinkMacSystemFont, sans-serif;font-size:14px;letter-spacing:-.24px;line-height:19.32px;"><span style="color:#1d2129;font-family:'San Francisco', '-apple-system', BlinkMacSystemFont, sans-serif;font-size:14px;letter-spacing:-.24px;line-height:19.32px;">업캐스팅해서 사용중에있습니다. base *bptr=&derived_obj 로 말이죠..</span><br style="color:#1d2129;font-family:'San Francisco', '-apple-system', BlinkMacSystemFont, sans-serif;font-size:14px;letter-spacing:-.24px;line-height:19.32px;"><span style="color:#1d2129;font-family:'San Francisco', '-apple-system', BlinkMacSystemFont, sans-serif;font-size:14px;letter-spacing:-.24px;line-height:19.32px;">catch에서 (baseclass* bptr)를 하고 throw &dervice로 던졌는데</span><br style="color:#1d2129;font-family:'San Francisco', '-apple-system', BlinkMacSystemFont, sans-serif;font-size:14px;letter-spacing:-.24px;line-height:19.32px;"><span style="color:#1d2129;font-family:'San Francisco', '-apple-system', BlinkMacSystemFont, sans-serif;font-size:14px;letter-spacing:-.24px;line-height:19.32px;">왜 정보가 제대로 넘어가지않을까요../?</span> <div> <p class="p1"><span class="s1">template</span><span class="s2"> <</span><span class="s1">typename</span><span class="s2"> T></span></p> <p class="p2"><span class="s3">void</span><span class="s1"> </span><span class="s4">Stack</span><span class="s1"><T>::push(</span><span class="s3">const</span><span class="s1"> T& pushValue) {</span></p> <p class="p2"><span class="s1"> </span><span class="s3">if</span><span class="s1"> (</span><span class="s3">this</span><span class="s1">->topIndex >= </span><span class="s4">STACK_MAX</span><span class="s1"> - </span><span class="s5">1</span><span class="s1">) {</span></p> <p class="p2"><span class="s1"> </span><span class="s4">StackFullException</span><span class="s1"> e(</span><span class="s3">this</span><span class="s1">, </span><span class="s3">this</span><span class="s1">->topIndex);</span></p> <p class="p2"><span class="s1"> </span><span class="s3">throw</span><span class="s1"> &e;</span></p> <p class="p2"><span class="s1"> }</span></p> <p class="p2"><span class="s1"> </span><span class="s3">this</span><span class="s1">->stackPtr[++</span><span class="s3">this</span><span class="s1">->topIndex] =</span></p> <p class="p2"><span class="s1"> pushValue;</span></p> <p class="p3"><span class="s2"> </span><span class="s1">// -1 -> 0</span><span class="s6">이</span><span class="s1"> </span><span class="s6">되고</span><span class="s1"> </span><span class="s6">나서</span><span class="s1"> </span><span class="s6">대입</span></p> <p class="p2"><span class="s1">}</span></p> <div> <p class="p1"><span class="s1">Stack</span><span class="s2"><</span><span class="s3">int</span><span class="s2">> stack5(</span><span class="s1">STACK_MAX</span><span class="s2">);</span></p> <p class="p2"><span class="s1"> </span><span class="s3">for</span><span class="s1"> (</span><span class="s3">int</span><span class="s1"> i = </span><span class="s4">0</span><span class="s1">; i < </span><span class="s4">5</span><span class="s1">; i++) {</span></p> <p class="p2"><span class="s1"> </span><span class="s3">try</span><span class="s1"> {</span></p> <p class="p2"><span class="s1"> </span><span class="s5">cout</span><span class="s1"> << </span><span class="s6">"i : "</span><span class="s1"> << i << </span><span class="s5">endl</span><span class="s1">; </span></p> <p class="p2"><span class="s1"> stack5.</span><span class="s5">push</span><span class="s1">(</span><span class="s4">10</span><span class="s1"> * i);</span></p> <p class="p2"><span class="s1"> }</span></p> <p class="p2"><span class="s1"> </span><span class="s3">catch</span><span class="s1"> (</span><span class="s3">const</span><span class="s1"> </span><span class="s3">char</span><span class="s1">* msg) {</span></p> <p class="p2"><span class="s1"> </span><span class="s5">cout</span><span class="s1"> << </span><span class="s6">"예외 종류 : "</span><span class="s1"> << msg << </span><span class="s5">endl</span><span class="s1">;</span></p> <p class="p2"><span class="s1"> }</span></p> <p class="p2"><span class="s1"> </span><span class="s3">catch</span><span class="s1"> (</span><span class="s5">MyException</span><span class="s1"> *ePtr) {</span></p> <p class="p2"><span class="s1"> ePtr-></span><span class="s5">report</span><span class="s1">();</span></p> <p class="p2"><span class="s1"> }</span></p> <p class="p2"><span class="s1"> }</span></p> <p class="p2"><span class="s1"><br></span></p> <p class="p2">핵심코드만 빼서 박았습니다.</p></div></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.