객체 멤버를 배열로 생성한 예제

#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()}; 다음과 같이 원소 객체를 초기화 할 수 있다.

 

+ Recent posts