对象的一阶段和两阶段构建

您可以在两种方法之间的选择。创建图形对象,如钢笔和画笔:

  • 构造一级别:构造和初始化。一阶段,所有的对象有构造函数。

  • 构造两个阶段:构造和初始化对象在两个不同的阶段。 构造函数创建对象,这些初始化函数初始化它。

两阶段结构总是更安全。 在一级别一样,构造函数可能会引发异常,如果您提供了不正确的参数或内存分配失败。 该问题的两阶段结构,避免,尽管您必须检查失败。 在任何情况下,销毁对象是同一过程。

备注

这些技术适用于创建所有对象,而不只是对象图。

两个构造技术的示例

以下简单示例显示构造钢笔对象有两种方法:

// One-stage
 CPen myPen1(PS_DOT, 5, RGB(0,0,0));

// Two-stage: first construct the pen
 CPen myPen2;
 // Then initialize it 
 if(myPen2.CreatePen(PS_DOT, 5, RGB(0,0,0)))   
{
     // Use the pen
}

您想进一步了解什么?

请参见

概念

图形对象