제가 검색해본결과
인스턴스 개수 생성을 제안하려고할때쓰고
그 대표적 예가 싱글톤 패턴이라고 봤는데요
이외에도 혹시 쓸만한 이유가 없나요?
제가 방금 든 생각은 생성자를 private으로 놓고
새로운 객체 포인터를 리턴하는 함수를 만드는것인데요
그렇게 함으로써 만약 매개변수로 전달된 초기화값이 잘못되었거나 객체 수를 제한하고싶어(1개든 10개든) 더이상 만들면 안될때
강제적으로 잘못된 객체를 만드는것보단 0을 리턴해서 조정하고
그외에는 new로 새로 만들어서 리턴하면 어떨까 생각됬는데
더 좋은 방법이 있는지 아니면 프게님들은 어케쓰시는지...
대충 코드로 해보자면..
class A{
private:
int num;
//private 생성자
A(int num):num(num){}
public:
//인스턴스 생성 함수
static A* createInstance(int num){
//만약 초기화하려는 변수값이 0보다 크면 객체를 생산한다
if(num > 0)
return new A(num);
//아니면 0을 리턴함.
else
return 0;
}
};
int main(){
//객체 A 생성
A* instanceA = new A(10);
//0이 아니면 delete해주고 0이면 종료한다
if(instanceA)
delete instanceA;
return 0;
}