문제 :
다음과 같이 원을 추상화한 Circle 클래스가 있다.
Circle 클래스와 main() 함수를 작성하고 3개의 Circle 객체를 가진 배열을 선언하고, 반지름 값을 입력받고 면적이 100보다 큰 원의 개수를 출력하는 프로그램을 완성하라.
Circle 클래스도 완성하라.
1
2
3
4
5
6
|
class Circle {
int radius; // 원의 반지름 값
public:
void setRadius(int radius); // 반지름을 설정한다.
double getArea(); // 면적을 리턴한다.
};
|
목적 및 힌트 :
객체 배열 다루기 연습
실행 결과 :
코드 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#include<iostream>
using namespace std;
class Circle {
int radius; // 원의 반지름 값
public:
void setRadius(int radius); // 반지름을 설정한다.
double getArea(); // 면적을 리턴한다.
};
void Circle::setRadius(int r){
radius = r;
}
double Circle::getArea(){
return radius * radius * 3.14;
}
int main() {
int cnt=0, r;
Circle *pArray = new Circle[3]; // 동적으로 객체 배열 생성
for(int i=0; i<3; i++){
cout << "원 " << i+1 << "의 반지름 >> ";
cin >> r;
pArray[i].setRadius(r);
if(pArray[i].getArea() > 100) // 면적이 100보다 크면 카운트
cnt++;
}
cout << "면적이 100보다 큰 원은 " << cnt << "개 입니다";
delete pArray;
}
|
'C++ programming' 카테고리의 다른 글
명품 C++ programming 실습 문제 4장 9번 (2) | 2020.03.04 |
---|---|
명품 C++ programming 실습 문제 4장 8번 (1) | 2020.03.04 |
명품 C++ programming 실습 문제 4장 6번 (1) | 2020.03.04 |
명품 C++ programming 실습 문제 4장 5번 (3) | 2020.03.04 |
명품 C++ programming 실습 문제 4장 4번 (5) | 2020.03.04 |