게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
C++기초 교재의 생성자와 소멸자 예제에서 에러가 나는데
게시물ID : programmer_10641짧은주소 복사하기
작성자 : ㅜ_ㅠ
추천 : 0
조회수 : 431회
댓글수 : 4개
등록시간 : 2015/05/31 17:02:31
열혈강의 C++교재의 생성자를 이용해서 원과 직사각형의 넓이와 둘레 구하는 연습문제를 하다가

원주율 값을 #define로 해서 정의 했는데 컴파일할때 에러가 나는군요.
(sqr=PI*PI*_radius;부분에서 간접 참조가 잘못되었습니다. 라고 나옵니다.)
아무리 생각해도 #define로 정의한 PI값을 클래스 내부에서 사용할때 컴파일에러가 나는 이유를 도무지 모르겠네요.
#define는 클래스 내부에서 사용하면 안되나요?
그렇지 않고 #define문의 사용이 가능하다면 아래의 소스에서 어떻게 해야 사용할 수 있는지 가르쳐 주신다면 정말로 좋겠습니다.


#include <iostream>
#define PI 3.14;

using std::cout;
using std::endl;

const int SIZE=20;
class Rectangle
{

int sqr;
int cir;
public:
Rectangle(int _heigh,int _width)
{
sqr=_heigh*_width;
cir=2*(_heigh+_width);
}
// ~Rectangle();
int GetArea()
{
return sqr;
}
int GetGirth()
{
return cir;
}
};

class Circle
{


float sqr;
float cir;
public:
Circle(float _radius)
{
sqr=PI*PI*_radius;
cir=PI*2*_radius;
}
float GetArea()
{
return sqr;
}
float GetGirth()
{
return cir;
}
};

int main()
{
Rectangle rec(3,4);//Rectangle rec(가로 길이,세로 길이)
cout<<"면적"<<rec.GetArea()<<endl;
cout<<"둘레"<<rec.GetGirth()<<endl;
Circle cir(5.23)
cout<<"면적"<<cir.GetArea()<<endl;
cout<<"둘레"<<cir.GetGirth()<<endl;

return 0;
}

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호