12.1.2定义对象例12-1:全局对象、局部对象、静态对象、堆对象class DeskDesk类{public :intweight ;inthigh ;intwidth ;intlength ;1;全局对象Desk da ;
例12-1:全局对象、局部对象、静态对象、堆对象 class Desk { public: int weight ; int high ; int width ; int length ; } ; Desk da ; Desk类 全局对象
12.1.2定义对象classStool另一个类:Stoolpublic :intweight ;inthigh ;intwidth ;intlength ;1;全局对象Stool sa ;
class Stool { public: int weight ; int high ; int width ; int length ; } ; Stool sa ; 另一个类:Stool 全局对象
12.1.2定义对象静态局部对象void fn()局部对象Stoolstaticss ;Deskda;1/.1voidd main()堆对象/局部对象Stoolbs;Desk*pd = new DeskDesknd[50];// 局部对象数组/ /.deletepd;//释放堆对象人
void fn( ) { static Stool ss ; Desk da ; //. } void main( ) { Stool bs ; // 局部对象 Desk *pd = new Desk ; Desk nd[50] ; // 局部对象数组 //. delete pd ; // 释放堆对象 } 静态局部对象 局部对象 堆对象
12.1.3对象的初始化根据变量定义,全局变量和静态变量在定义默认值为0(分配空间)时,遇到局部变量在定义时,给其分配内存空间此时,该内存空间之前存储的值即为此局部变量的默认值。,所以,局部变量的默认值为随机数
• 根据变量定义,全局变量和静态变量在定义 (分配空间)时,默认值为0。 • 遇到局部变量在定义时,给其分配内存空间。 • 此时,该内存空间之前存储的值即为此局部 变量的默认值。 • 所以,局部变量的默认值为随机数
12.1.3对象的初始化,对象定义时,情况不一样。对象的意义表达了现实世界的实体因此,一旦建立对象,须有一个有意义的初始值。C++建立和初始化对象的过程专门由该类的构造函数来完成,这个构造函数很特殊,只要对象建立,它马上被调用,给对象分配空间和初始化
• 对象定义时,情况不一样。 • 对象的意义表达了现实世界的实体。 • 因此,一旦建立对象,须有一个有意义的初 始值。 • C++建立和初始化对象的过程专门由该类的构 造函数来完成。 • 这个构造函数很特殊,只要对象建立,它马 上被调用,给对象分配空间和初始化