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