다음을 통해 공유


1단계 및 2단계 개체 생성

펜 및 브러시와 같은 그래픽 개체를 만드는 두 가지 기술 중에서 선택할 수 있습니다.

  • 1단계 생성: 생성자를 사용하여 한 단계에서 개체를 생성하고 초기화합니다.

  • 2단계 생성: 두 단계로 개체를 생성하고 초기화합니다. 생성자는 개체를 만들고 초기화 함수는 개체를 초기화합니다.

2단계 구조는 항상 안전합니다. 1단계 생성에서는 잘못된 인수를 제공하거나 메모리 할당이 실패하는 경우 생성자가 예외를 throw할 수 있습니다. 실패를 위해 검사 해야 하지만 2단계 구성으로 이 문제를 방지할 수 있습니다. 두 경우 모두 개체를 삭제하는 과정은 동일합니다.

참고 항목

이러한 기술은 그래픽 개체뿐만 아니라 모든 개체를 만드는 데 적용됩니다.

두 생성 기법의 예

다음 간단한 예제에서는 펜 개체를 생성하는 두 가지 방법을 보여 줍니다.

// One-stage
CPen myPen1(PS_DOT, 5, RGB(0, 0, 0));

// Two-stage: first construct the pen
CPen myPen2;
// Then initialize it
if (myPen2.CreatePen(PS_DOT, 5, RGB(0, 0, 0)))
{
   // Use the pen
}

다음에 대해 자세히 알고 싶은 사항

참고 항목

그래픽 개체