C++
명품 C++ 4장 7번
NUMERO_K
2018. 10. 30. 00:18
7. 다음과 같이 원을 추상화한 Circle 클래스가 있다. Circle 클래스와 main() 함수를 작성하고 3개의 Circle 객체를 가진 배열을 선언하고, 반지름 값을 입력받고 면적이 100보다 큰 원의 개수를 출력하는 프로그램을 완성하라. Circle 클래스도 같이 완성하라.
소소코드
#include <iostream>
using namespace std;
class Circle {
int radius; // 원의 반지름 값
public:
void setRadius(int radius); // 반지름을 설정한다.
double getArea(); // 면적을 리턴한다.
};
void Circle::setRadius(int radius) {
this->radius = radius;
}
double Circle::getArea() {
return 3.14*radius*radius;
}
int main() {
Circle circle[3];
int count = 0; // 100보다 큰 원의 개수
for (int i = 0; i < 3; ++i) {
cout << "원 " << i + 1 << "의 반지름 값 >> ";
int r;
cin >> r;
circle[i].setRadius(r);
if (circle[i].getArea() > 100) ++count;
}
cout << "면적이 100보다 큰 원은 " << count << "개 입니다." << endl;
}
실행결과
Circle 멤버변수인 radius 에 바로 접근할수 없어서 r 로 입력받고 멤버함수를 통해 반지름을 설정하였습니다.
입력을 받고 바로 면적을 비교 하였습니다.