아.. 이거 저만 몰랐나요?
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 으로 초기화)
}
}
'2_ 바삭바삭 프로그래밍 > C# and Visual C++' 카테고리의 다른 글
[MFC] 전역변수 사용하기 (2) | 2012.07.30 |
---|---|
[C#] What can I use instead of getch() in C#? (2) | 2012.06.29 |
C# - 입출력, 랜덤, 현재시간, 웹페이지 받아오기 및 다운로드, Alt+F4 방지 (0) | 2012.01.07 |
C# - MP3 간단하게 재생하기 (mciSendString, winmm.dll) (2) | 2012.01.05 |
C# - 트위터 사용 예제 (Using Twitter API Example) (2) | 2011.12.29 |