首页  >  文章  >  后端开发  >  如何在 C 中委托构造函数以避免代码重复?

如何在 C 中委托构造函数以避免代码重复?

DDD
DDD原创
2024-11-22 06:40:14132浏览

How Can I Delegate Constructors in C   to Avoid Code Duplication?

C 中的委托构造函数

在处理 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn