在处理 C 类中的多个构造函数时,可能会出现在构造函数之间重复相同代码的情况。为了简化此过程,C 提供了委托构造函数调用的功能。
在您的场景中,您尝试从 Bitmap(WORD) 构造函数调用 Bitmap(HBITMAP) 构造函数。当您的第一种方法创建临时位图并用它调用另一个构造函数时,构造函数委托的正确语法是使用构造函数初始化列表。
以下代码演示了正确的方法:
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)) { }
通过将构造函数委托调用放在初始化列表中,可以确保在 Bitmap(WORD) 构造函数中的任何其他语句之前调用 Bitmap(HBITMAP) 构造函数。这允许您在使用不同参数初始化 Bitmap 对象时重用通用代码。
以上是如何在 C 中委托构造函数以避免代码重复?的详细内容。更多信息请关注PHP中文网其他相关文章!