객체 배열을 만들시 주의점

클래스 배열 즉 객체 배열을 만들려면 주의할점이있다.

클래스 SK가 있다고 쳐보자.

class SK{

int a;
int b;

SK(int n1, int n2);
~SK();
}; 



이 클래스는
SK value( 2,3 ) ;
이런식으로 초기화를 해줘야한다.

그렇다면
SK Array[3];
이렇게 배열을 선언하면 어떻게 될까?

당연히 에러다!!!
그것은 SK Array() 이런식의 생성자가 없기떄문이다.
이것이 처리되려면 인수를 취하지 않는 디폴트 생성자가 반드시 있어야한다.

이러한 에러가 나는 이유는 컴파일러는 애매한 초기식으로부터 대충 비슷해 보이는 생성자를 호출하는
쓸데없는 서비스를 하기보다는 차라리 에러로 처리하는 것이 더 깔끔하다고 생각하는 것이기때문.!! 


객체배열을 선언하면서 초기화하는 방법:

SK Array[3] = { SK(1,2), SK(3,1), SK(6,3)  };


이런식으로 생성자를 호출해주면서 초기화 시키는게 객체배열 초기화의 정석이다!!!!!!!!!!!!!!!!!!!!! 



혼연보다가 실수할 수 있는  부분을 정리해보았다.
참고: www.winapi.com 

이 글을 공유하기

댓글

Designed by JB FACTORY