객체 멤버를 배열로 생성한 예제
#include <iostream>
using namespace std;
class Circle {
int radius;
public:
Circle() { radius = 1; } // 배열을 만들기 위한 기본 생성자
Circle(int r) { radius = r; } // 매개변수를 받는 기본 생성자
void setRadius(int r) { radius = r; } // 변수 radius를 수정하기 위한 함수
double getArea(); //넓이를 구하기 위한 함수
};
double Circle::getArea() {
return 3.14 * radius * radius; // getArea함수 정의
}
int main() {
Circle circleArray[3]; //객체 Circle의 멤버를 배열로 생성
circleArray[0].setRadius(10);// 객체 Circle의 멤버 circleArray의 첫 번째 구성원에 setRadius함수 실행
circleArray[1].setRadius(20);// " 두 번째 구성원
circleArray[2].setRadius(30);// " 세 번째 구성원
for (int i = 0; i < 3; i++)
cout << "Circle " << i << "의 면적은 " << circleArray[i].getArea() << endl; // 배열로 생성하면 각 멤버의 이름을 배열이름[순서]로 생각하면 된다. 멤버 이름으로 접근
Circle* p;
p = circleArray;
for (int i = 0; i < 3; i++) {
cout << "Circle " << i << "의 면적은" << p->getArea() << endl; // 객체 포인터로 접근, 포인터로 접근하므로 +1로 다음 멤버에 접근할 수 있다.
p++;
}
}
circleArray[3] = {Circle(10), Circle(20), Circle()}; 다음과 같이 원소 객체를 초기화 할 수 있다.