카테고리 없음
[C++] 원(Circle) 클래스 구현
s뽈록이s
2013. 8. 17. 14:11
class Circle { private : int r; public : Circle(int radius) { r = radius; } double GetArea() { if(r < 1)return - 1; return r * r * 3.14; } double GetGirth() { if(r < 1)return - 1; return 2 * 3.14 * r; } }; void main() { Circle cir(4); cout << "면적 : " << cir.GetArea() << endl; cout << "둘레 : " << cir.GetGirth() << endl; }
프로그램 실행화면
원의 반지름을 지정해 주면 해당 원에 대한 면적과 둘레를 출력해 주는 클래스를 구현해 보았다. 클래스를 구현해 보는 연습을 하기에는 좋은 녀석인 것 같다. 그리 어렵지도 않으니 말이다.
클래스 안의 멤버 변수는 모두 private에 선언하는 습관을 들이는 것이 좋다. 그리고 멤버 함수를 통해 접근하는 방식을 취하는 것이 좋다.
이유는 경험을 통해 배울수도 있겠지만 살짝 말해주자면 프로그램 유지보수에 용이하다는 것이다. 만약 위에서 만든 Circle 클래스를 상속 받아서 만든 클래스가 있다고 하자.
int r이 public에 선언되어 있어 상속받은 함수에서 마음대로 접근했다고 하자 만약 int r의 변수명을 바꾸어야 한다면?? 임의로 접근이 가능했기에 접근을 한 모둔 곳을 수정해야 한다.
하지만 private에 선언했다면 변수에 접근하는 함수만 수정해 주면 되는 것이다. 아무튼 책에서 해주는 충고는 그냥 듣고 그대로 하는 것이 좋을 것이라 생각된다.