GUID在c ++中的默认值

时间:2011-04-12 03:45:59

标签: c++ mfc guid

我想在班上使用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);

我该怎么做?

由于

1 个答案:

答案 0 :(得分:3)

1,GUID的默认值:GUID_NULLIID_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) 
  { }
};