IMPLEMENT_DYNCREATE
개체의 CObject-파생 클래스가 런타임에 동적으로 만들 수와 함께 사용할 때의 DECLARE_DYNCREATE 매크로.
IMPLEMENT_DYNCREATE(class_name, base_class_name )
매개 변수
클래스
클래스의 실제 이름입니다.base_class_name
기본 클래스의 실제 이름입니다.
설명
이 기능은 프레임 워크 사용 개체 serialize 하는 동안 디스크에서 잠들 때 새 개체 동적으로 예를 들어, 만듭니다.추가 IMPLEMENT_DYNCREATE 매크로 클래스 구현 파일에서입니다.자세한 내용은 CObject 클래스 항목.
사용 하는 경우는 DECLARE_DYNCREATE 및 IMPLEMENT_DYNCREATE 매크로, 다음 사용할 수 있습니다는 RUNTIME_CLASS 매크로 CObject::IsKindOf 멤버 함수는 클래스의 개체는 런타임에 확인 합니다.
경우 DECLARE_DYNCREATE 다음 클래스 선언에 포함 된 IMPLEMENT_DYNCREATE 클래스 구현에 포함 되어야 합니다.
이 매크로 정의 클래스의 기본 생성자를 호출 하도록 유의 하십시오.특수 한 생성자는 클래스에 의해 명시적으로 구현 하는 경우 명시적으로 기본 생성자를 구현 해야 합니다.기본 생성자는 클래스에 추가할 수 있습니다 개인 또는 보호 된 구성원 섹션에서 외부 클래스 구현을 호출에서를 방지 하기 위해.
예제
class CMyDynCreateObj : public CObject
{
int m_Num;
public:
DECLARE_DYNCREATE(CMyDynCreateObj)
CMyDynCreateObj(int Num) { m_Num = Num; }
private:
CMyDynCreateObj() { m_Num = 0; } // provide default constructor only for
// dynamic creation
};
IMPLEMENT_DYNCREATE(CMyDynCreateObj, CObject)
요구 사항
헤더: afx.h