2011-04-12 6 views
1

내 클래스에서 GUID를 사용하고 싶습니다.GUID 기본값 (C++)

1) 기본 생성자 (0, NULL 등)에 기본값을 지정하고 싶습니다. 내가 어떻게 해?

2) 다른 생성자에서 생성자에 대한 호출에없는 경우 기본 값을 지정하고 싶습니다. 예 :

the constructor: MY_CLASS(int a, int b, int c = 0, GUID g = ???) 
the call: MY_CLASS m = new MY_CLASS(5,3); 

어떻게 할 수 있습니까?

감사

+1

'GUID_NULL'시도 할 수 있습니다. – rwong

답변

2

(1), GUID의 기본값 : GUID_NULL, 또는 IID_NULL

이 (가 GUID_NULL의 별칭), 당신이 직접 REFGUID보다는 GUID를 사용한다고 생각합니다. 헤더 파일에서 DEFINE_GUID(guid_name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)을 사용하여 정적 GUID 인 guid_name을 정의 할 수 있습니다. 클래스에서 REFGUID 멤버를 정의하고 guid_name을 할당하십시오.

// {4CAD5FED-86CA-453a-B813-0876DAA992DF} 
DEFINE_GUID(_guid_A, 
    0x4cad5fed, 0x86ca, 0x453a, 0xb8, 0x13, 0x8, 0x76, 0xda, 0xa9, 0x92, 0xdf); 

class MyClass { 
private: 
    REFGUID rguid; 

public: 
    MyClass() : rguid(&GUID_NULL) 
    { } 

    MyClass(int a) : rguid(&_guid_A) 
    { } 
};