委托构造函数:深入探究
C 中的构造函数委托是一种允许构造函数调用同一类的另一个构造函数的技术。当多个构造函数执行类似操作时,它对于减少代码重复很有用。
在提供的示例中,目标是使用不同的参数类型(例如 HBITMAP 或 WORD ResourceID)委托 Bitmap 对象的构造。问题中提出的第二种方法正确地演示了初始化列表中的构造函数委托:
Bitmap::Bitmap(WORD ResourceID) : Bitmap((HBITMAP)LoadImage(...)
此语法使用 HBITMAP 构造函数初始化 Bitmap 对象,并将加载的资源作为参数传递。这优于第一种方法,第一种方法将创建一个临时 HBITMAP 对象,然后尝试委托给 HBITMAP 构造函数。
构造函数委托只能在构造函数的初始化列表中完成。如果您尝试从构造函数主体进行委托(如第一种方法所示),则会导致错误或意外行为。
以上是C 构造函数委托:为什么要在成员初始化列表中初始化?的详细内容。更多信息请关注PHP中文网其他相关文章!