728x90
반응형
객체의 동적 생성 및 반환 형식
동적할당
클래스이름 *포인터변수 = new 클래스 이름;
클래스이름 * 포인터변수 = new 클래스 이름(생성자매개변수리스트);
해제
delete 포인터변수;
객체 동적생성 예제
원의 개수를 입력받고 Circle 배열을 동적생성하라.
반지름 값을 입력받아 Circle 배열에 저장하고, 면적이 100에서 200 사이인 원의 개수를 출력하라.
#include <iostream>
#include <string>
using namespace std;
class Circle {
int radius;
public:
Circle();
~Circle() {};
void setRadius(int r) { radius = r; };
double getArea() { return 3.14 * radius * radius; };
};
Circle::Circle() {
radius = 1;
}
int main() {
cout << "생성하고자 하는 원의 개수? : ";
int n, radius;
cin >> n; // 원의 개수 입력
Circle* pArray = new Circle[n]; //n개의 Circle 배열 생성
for (int i = 0; i < n; i++) {
cout << "원 " << i + 1 << ": ";
cin >> radius; //반지름 입력
pArray[i].setRadius(radius);
}
int count = 0; //카운트 변수
Circle* p = pArray;
for (int i = 0; i < n; i++) {
cout << p->getArea()<<' '; //원의 면적 출력
if (p->getArea() >= 100 && p->getArea() <= 200) {
count++;
}
p++;
}
cout << endl << "면적이 100에서 200 사이인 원의 개수는 " << count << endl;
delete []pArray;
}
728x90
반응형
'Archive > Develop' 카테고리의 다른 글
[ Docker ] Nginx 컨테이너 생성하기 (0) | 2021.04.08 |
---|---|
[ Docker ] Docker hub 를 이용해 Portainer 이미지 다운받기 (0) | 2021.04.08 |
[ C++ ] C++ 동적 메모리 할당 및 반환 (0) | 2021.04.06 |
[ Django ] Django Mobile Debugging | 장고 서버 모바일 | Django IP 지정 (0) | 2021.04.05 |
[ Oracle ] 서브쿼리(SubQuery) | 서브쿼리 예제 (0) | 2021.04.05 |