반응형
문제
요구사항
1. Rectagle이라는 클래스를 지정해야 함
2. Rectangle클래스 안에 width와 height라는 정수형 지역 변수 설정 필요
3. 클래스 안에 getArea()라는 메소드를 설정 필요
4. getArea()는 width*height 값을 return하도록 코드 설계 필요
5. 객체 배열의 크기를 설정하기 위해 int n을 입력
6. 각각의 Rectangle 객체에 width값과 height값을 저장하고 같으면 정사각형이라는 것을 출력해야함
설계도
소스코드
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
#include <iostream>
using namespace std;
class Rectangle {
public:
int width, height;
//멤버 변수 width, height를 선언해준다. c++에서는 접근 선언자를 하지 않으면 protected이므로 public을 꼭 써줘야 한다. 이것때문에 좀 애먹었다.ㅠㅠ
public:
double getArea() {
return width * height;
}
//정사각형의 넓이를 return 해주는 메소드
};
int main() {
int n;
cout << "생성할 사각형의 개수는?";
cin >> n;//생성할 사각형의 개수를 입력한다
Rectangle *rect=new Rectangle[n]; // n개인 Rectangle 객체 배열 생성
static int width, height;
for (int i = 0; i < n; i++) {//각각 사각형의 가로 세로를 입력해준다
cout << "Rect" << i << "의 가로 세로 값은?" << endl;
cin >> width;
cin >> height;
rect[i].width = width;//입력한 값을 각각 Rectagle의 객체인 객채 배열들에 넣어준다.
rect[i].height = height;
}
cout << endl;
cout << "결과 :" << endl;
for (int i = 0; i < n; i++) {
if (rect[i].width == rect[i].height) {//만약 가로와 세로가 같으면 정사각형임을 출력해준다
cout << "Rect" << i+1 << "은" << "정사각형이다" << endl;
}
}
for (int i = 0; i < n; i++)
cout << "Rect " << i+1 << "의 면적은 " << rect[i].getArea() << endl;
}//객체 배열들의 getArea(), 즉 넓이를 출력한다.
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
|
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs |
실행 결과
의견
지금까지 객체를 배열화한 경우는 못봤는데 이번에 처음으로 해보아서 낯설기도 했지만 신기하였다.
변수를 사용할 때 클래스에서나 main함수에서나 둘다 필요하다는 것을 배웠다.
728x90
반응형
'💻 개인공부 💻 > C | C++' 카테고리의 다른 글
[C++] C++에서의 배열 선언 (0) | 2020.06.08 |
---|---|
[C++] 가상함수 상속을 이용하여 값을 변환해주는 클래스 작성 (0) | 2020.05.24 |
[C++] 다중상속을 이용한 연산 프로그램(feat. public 다중상속) (0) | 2020.05.20 |
[C++] 멤버함수와 외부 함수를 이용한 OOP(feat. friend, operator) (0) | 2020.05.02 |
[C++] 객체 지향을 이용한 c++ 프로그래밍 (0) | 2020.04.10 |