<p></p><p>#include <iostream></p><p>using namespace std;</p><p><br></p><p>class Length</p><p>{</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>double len;</p><p><br></p><p>public:</p><p><span class="Apple-tab-span" style="white-space:pre"> </span></p><p><span class="Apple-tab-span" style="white-space:pre"> </span>void setlen(double _len)</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>{</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>len = _len;</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>}</p><p><br></p><p><span class="Apple-tab-span" style="white-space:pre"> </span>void getlen(double &_len)</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>{</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>_len = len;</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>}</p><p><br></p><p><span class="Apple-tab-span" style="white-space:pre"> </span>virtual double millimeters() = 0;</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>virtual double centimeters() = 0;</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>virtual double meters() = 0;</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>virtual double inches() =0;</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>virtual double feet() =0;</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>virtual double yards() =0;</p><p><br></p><p>};</p><p><br></p><p>class MetricLength : public Length</p><p>{</p><p><br></p><p>public:</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>double millimeters();</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>double centimeters();</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>double meters();</p><p>};</p><p><br></p><p><br></p><p>double MetricLength::millimeters()</p><p>{</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>double _len;</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>getlen(_len);</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>return _len*100;</p><p>}</p><p><br></p><p>double MetricLength::centimeters()</p><p>{</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>double _len;</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>getlen(_len);</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>return _len;</p><p>}</p><p><br></p><p>double MetricLength::meters()</p><p>{</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>double _len;</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>getlen(_len);</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>return _len/100;</p><p>}</p><p><br></p><p>class EnglishLength : public Length</p><p>{</p><p>public:</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>double inches();</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>double feet();</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>double yards();</p><p>};</p><p><br></p><p>double EnglishLength::inches()</p><p>{</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>double _len;</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>getlen(_len);</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>return _len*0.393701;</p><p>}</p><p><br></p><p>double EnglishLength::feet()</p><p>{</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>double _len;</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>getlen(_len);</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>return _len*0.032808;</p><p>}</p><p><br></p><p>double EnglishLength::yards()</p><p>{</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>double _len;</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>getlen(_len);</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>return _len*0.010936;</p><p>}</p><p><br></p><p><br></p><p>int main(void)</p><p>{</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>Length *p;</p><p><br></p><p><span class="Apple-tab-span" style="white-space:pre"> </span>MetricLength M;</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>EnglishLength E;</p><p><br></p><p><span class="Apple-tab-span" style="white-space:pre"> </span>M.setlen(1.5);</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>E.setlen(1.5);</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>p = &M;</p><p><br></p><p><span class="Apple-tab-span" style="white-space:pre"> </span>cout << "밀리미터 환산 : " << p->millimeters() << endl;</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>cout << "센티미터 환산 : " << p->centimeters() << endl;</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>cout << "미터 환산 : " << p->meters() << endl;</p><p><br></p><p><span class="Apple-tab-span" style="white-space:pre"> </span>p=&E;</p><p><br></p><p><span class="Apple-tab-span" style="white-space:pre"> </span>cout << "인치 환산 : " << p->inches() << endl;</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>cout << "피트 환산 : " << p->feet() << endl;</p><p><span class="Apple-tab-span" style="white-space:pre"> </span>cout << "야드 환산 : " << p->yards() << endl;</p><p><br></p><p><span class="Apple-tab-span" style="white-space:pre"> </span>return 0;</p><p>}</p><div><br></div><div><br></div><div>이런식으로 추상함수를 구현했는데 </div><div>error C2259: 'MetricLength' : 추상 클래스를 인스턴스화할 수 없습니다.</div><div>error C2259: 'EnglishLength' : 추상 클래스를 인스턴스화할 수 없습니다.</div><div><br></div><div>이런 두 오류가 떴는데... 오류 내용을 보면 추상클래스에 있는 가상함수들을 다 구현을 안해줘서 이런 오류가 뜨는데 </div><div>꼭 <span style="font-size: 10pt; line-height: 1.8;">MetricLength클래스에서는 인치,피트,야드를 입력하면 안되는데.....<br></span>EnglishLength클래스 또한 밀리미터 센티미터 미터를 입력하면 안되는데 </div><div><br></div><div>오류 해결방법이 없을까요 ???</div><div><br></div><div>아니면 추상클래스에서 대해서 알려주세요 </div><div><span style="font-size: 10pt; line-height: 1.8;"><br></span></div><p></p>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.