#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
//원의 개수를 입력받고 circle 배열을 동적 생성하라
// 반지름의 값을 입력 받아 circle 배열에 저장하고
// 면적이 100에서 200사이인 원의 개수를 출력하라
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(int argc, char** argv) {
// 생성하고자 하는 원의 개수 ?
// 원1:
// 원2:
// 원3:
// 원의 면적 출력
//면적이 100에서 200사이인 원의 개수는
cout << "생성하고자 하는 원의 개수는 ? ";
int n;
int radius;
cin >> n;
Circle *pArray=new Circle[n];
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;
return 0;
}
#include <iostream>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
class Circle{
int radius;
public :
Circle();
Circle(int r);
~Circle();
void setRadius(int r){radius=r;
}
double getArea(){
return 3.14*radius*radius;
}
};
Circle :: Circle(){
radius=1;
cout<< "생성자 실행 radius = "<< radius << endl;
}
Circle :: Circle(int r){
radius=r;
cout<< "생성자 실행 radius = "<< radius << endl;
}
Circle :: ~Circle(){
cout<< "소멸자 실행 radius = "<< radius << endl;
}
int main(int argc, char** argv) {
//배열에 접근해서 반지름 값 정하기
Circle *pArray=new Circle[3];
pArray[0].setRadius(10);
pArray[1].setRadius(20);
pArray[2].setRadius(30);
// 배열로 면적구하기
for(int i=0; i<3; i++){
cout<< pArray[i].getArea() << endl;
}
// 포인터 p에 배열의 주소값 설정하기
Circle *p=pArray;
for(int i=0; i<3; i++){
cout << p->getArea() << endl;
p++;
}
// 포인터로 면적구하기
delete[] pArray;
return 0;
}