创建对象
如果类具有构造函数,那么将在创建该类的对象时执行该构造函数。 此构造函数通常初始化对象的状态。 基础类的构造函数通常具有程序员在创建对象时必须提供的必需位置参数。
可以通过以下两种方法之一来创建 C++ 对象:
- 自动,在 C++ 堆栈上创建对象的位置。 例如:此处,将在堆栈上自动创建 objX 和 objY 。 它们的生存期受到创建它们的上下文的限制; 当它们超出范围时,将自动删除它们 (即,它们的析构函数运行并释放它们的存储器)。
{ ClassX objX ClassY objY(parameter1); } //objects deleted here - 动态的,在 C++ 堆上创建对象的位置。 例如:这里我们处理的是指向对象而不是对象本身的指针。 对象的生存期超出创建该对象的作用域。 在先前的样本中,指针 (pObjX 和 pObjY) "丢失" ,因为它们超出范围,但它们指向的对象仍然存在! 这些对象存在,直到它们被显式删除,如下所示:
{ ClassX* pObjX = new ClassX; ClassY* pObjY = new ClassY(parameter1); } //objects NOT deleted here{ ClassX* pObjX = new ClassX; ClassY* pObjY = new ClassY(parameter1); ⋮ pObjX->method1(); pObjY->method2(); ⋮ delete pObjX; delete pObjY; }
这本书中的大部分样本都使用了自动存储。 建议 使用自动存储器,因为您不记得显式删除对象,但可以将任一样式用于 CICS® C++ 基础类程序。 有关基础类和存储管理的更多信息,请参阅 存储管理。