我想在班上使用GUID。
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);
我该怎么做?
由于
答案 0 :(得分:3)
1,GUID的默认值:GUID_NULL
或IID_NULL
(别名为GUID_NULL
)
2,我认为你应该直接使用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)
{ }
};