正在加载图片...
712堆对象与构造画飘 通过neW建立的对象要调用构造函数,通过 delete删 除对象也要调用析构函数。例如: GOods *pci 定义一个物资类的指针 pc≡ new GOods}/分配堆空间,并构造一个无名的 GOods对象,并调用构造函数; ■■■■■■■ delete pci ∥/先析构,然后将内存空间返回给堆; 堆对象的生命期并不依赖于建立它的作用域,所以除非程 序结束,堆对象(无名对象)的生命期不会到期,并且需要显 式地用 delete语句析构堆对象,上面的堆对象在执行 delete语 句时,C十+自动调用其析构函数。 正因为构造函数可以有参数,所以neW后面类( class)类 型也可以有参数。这些参数即构造函数的参数。但对创建数组, 则无参数,并只调用缺省的构造函数。见下例类说明 心画7.1.2 堆对象与构造函数 通过 new 建立的对象要调用构造函数,通过 deletee 删 除对象也要调用析构函数。例如: CGoods *pc; // 定义一个物资类的指针 pc = new CGoods; //分配堆空间,并构造一个无名的 CGoods 对象,并调用构造函数; ……. delete pc; //先析构,然后将内存空间返回给堆; 堆对象的生命期并不依赖于建立它的作用域,所以除非程 序结束,堆对象(无名对象)的生命期不会到期,并且需要显 式地用delete语句析构堆对象,上面的堆对象在执行delete语 句时,C++自动调用其析构函数。 正因为构造函数可以有参数,所以new后面类(class)类 型也可以有参数。这些参数即构造函数的参数。但对创建数组, 则无参数,并只调用缺省的构造函数。见下例类说明:
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有