게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[ㅂㅅㄱ]C++ private 생성자는 언제쓰나요?
게시물ID : programmer_7867짧은주소 복사하기
작성자 : bsy
추천 : 0
조회수 : 2293회
댓글수 : 6개
등록시간 : 2015/01/28 01:06:58
옵션
  • 베스트금지
  • 본인삭제금지
제가 검색해본결과

인스턴스 개수 생성을 제안하려고할때쓰고

그 대표적 예가 싱글톤 패턴이라고 봤는데요

이외에도 혹시 쓸만한 이유가 없나요?

제가 방금 든 생각은 생성자를 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;
}
꼬릿말 보기
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호