相关疑难解决方法(0)

委托构造函数C++

我这样做了吗?我正在尝试委托一个C++类构造函数,因为它基本上是相同的代码重复3次..我读了C++ x11并读到g ++ 4.7.2允许这样但我不确定我是否正在这样做对:

Bitmap::Bitmap(HBITMAP Bmp)
{
   //Construct some bitmap stuff..
}

Bitmap::Bitmap(WORD ResourceID)
{
   HBITMAP BMP = (HBITMAP)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(ResourceID), IMAGE_BITMAP, 0, 0, LR_SHARED);

   Bitmap(BMP);   //Delegates to the above constructor? Or does this create a temporary?
}
Run Code Online (Sandbox Code Playgroud)

或者我需要这样做:

Bitmap::Bitmap(HBITMAP Bmp)
{
   //Construct some bitmap stuff..
}

Bitmap::Bitmap(WORD ResourceID) : Bitmap((HBITMAP)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(ResourceID), IMAGE_BITMAP, 0, 0, LR_SHARED))
{
}
Run Code Online (Sandbox Code Playgroud)

c++ c++11

50
推荐指数
2
解决办法
4万
查看次数

标签 统计

c++ ×1

c++11 ×1