열혈강의 C++교재의 생성자를 이용해서 원과 직사각형의 넓이와 둘레 구하는 연습문제를 하다가 <div><br></div> <div>원주율 값을 #define로 해서 정의 했는데 컴파일할때 에러가 나는군요.</div> <div>(<span style="font-size:9pt;line-height:1.5;">sqr=PI*PI*_radius;부분에서 </span><span style="font-size:9pt;line-height:1.5;">간접 참조가 잘못되었습니다. 라고 나옵니다.)</span></div> <div>아무리 생각해도 #define로 정의한 PI값을 클래스 내부에서 사용할때 컴파일에러가 나는 이유를 도무지 모르겠네요.</div> <div>#define는 클래스 내부에서 사용하면 안되나요?</div> <div>그렇지 않고 #define문의 사용이 가능하다면 아래의 소스에서 어떻게 해야 사용할 수 있는지 가르쳐 주신다면 정말로 좋겠습니다.</div> <div><br></div> <div><br></div> <div><div>#include <iostream></div> <div>#define PI 3.14;</div> <div><br></div> <div>using std::cout;</div> <div>using std::endl;</div> <div><br></div> <div>const int SIZE=20;</div> <div>class Rectangle</div> <div>{</div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int sqr;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int cir;</div> <div>public:</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>Rectangle(int _heigh,int _width)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>sqr=_heigh*_width;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>cir=2*(_heigh+_width);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div>//<span class="Apple-tab-span" style="white-space:pre;"> </span>~Rectangle();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int GetArea()</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 sqr;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int GetGirth()</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 cir;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div>};</div> <div><br></div> <div>class Circle</div> <div>{</div> <div><br></div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>float sqr;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>float cir;</div> <div>public:</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>Circle(float _radius)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>sqr=PI*PI*_radius;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>cir=PI*2*_radius;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>float GetArea()</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 sqr;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>float GetGirth()</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 cir;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div>};</div> <div><br></div> <div>int main()</div> <div>{</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>Rectangle rec(3,4);//Rectangle rec(가로 길이,세로 길이)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>cout<<"면적"<<rec.GetArea()<<endl;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>cout<<"둘레"<<rec.GetGirth()<<endl;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>Circle cir(5.23)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>cout<<"면적"<<cir.GetArea()<<endl;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>cout<<"둘레"<<cir.GetGirth()<<endl;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><br></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>return 0;</div> <div>}</div></div> <div><br></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.