|
class ProcessState
{
private:
ProcessState() {}
ProcessState( const ProcessState&);
void operator=( const ProcessState& );
public:
static ProcessState* self()
{
if ( sInstance == 0 )
sInstance = new ProcessState;
return sInstance;
}
};
int main()
{
ProcessState* pro(ProcessState::self());
}
궁금한 점이 있습니다.
ProcessState* pro(ProcessState::self()); <--- 요 문장이 ProcessState 의 생성자를 sInstance 객체를 가지고 호출하는 문구로 이해했는데, 위에 보면 private 영역에 선언만 하고 구현부가 없습니다.
그럼 pro 에다가 복사가 안되고 에러가 나야 할 것 같은데 정상 동작을 합니다.
어떻게 된것일까요?
|