2_ 바삭바삭 프로그래밍/C# and Visual C++
[C#] 클래스를 배열로 선언하기
준환이형님_
2012. 6. 28. 22:45
아.. 이거 저만 몰랐나요?
C# 클래스의 인스턴스를 배열로 선언할때 동적으로 전체 할당한 뒤, 다시 하나하나 다 할당해줘야 하다니. 이거 때문에 어제오늘 헤멘거 생각하면..@#$%&
출처:hazelstyle.egloos.com/5084248 by 헤이즐넛
C#에서 class를 배열로 선언하여 사용할 경우에는,
아래 예제와 같이 배열 선언시에 new 키워드를 선언하고, 다시 한번 개별 요소마다 new 선언을 해 주어야 한다.
========================================================================================
class Lens
{
int diameter;
public Lens(int dia) // 생성자
{
diameter = dia;
}
}
class Camera
{
Lens[] lens; // Lens 클래스의 배열 선언
public Camera(int nLens) // Camera 클래스 생성자, 예제로 Class 생성자가 nLens라는 값을 초기 변수를 갖는다고 가정
{
lens = new Lens[nLens]; // lens 변수에 5개의 Class 메모리 할당
for (int i=0; i<nLens; i++)
lens[i] = new Lens(3.0); // 개별 lens 요소에 Lens 클래스 초기화 선언 (diameter=3.0 으로 초기화)
}
}