C++知识要点整理04:构造函数 对象

1.构造函数和析构函数

   先构造的后析构,后构造的先析构,但这是一般情况下,还有几点需要注意:
  (1)如果在全局范围中定义对象,那么它的构造函数在本文件模块中的所有函数(包括main函数)执行之前调用。但如果一个程     序包含多个文件,而在不同的文件中都定义了全局变量,则这些对象的构造函数的执行顺序是不确定的。当main函数执行完毕或     调用exit函数时(此时
程序终止),调用析构函数。
  (2)如果定义的是局部自动对象(例如在函数中定义对象),则在建立对象时调用其构造函数。如果对象所在的函数被多次调            用,则在每次 建立对象时都要调用构造函数。在函数调用结束,对象释放时先调用析构函数
  (3)如果在函数中定义静态(static)局部对象,则只在程序第一次调用此函数定义对象时调用构造函数一次,在调用函数结束时        对象并不释放,因此也不调用析构函数,只在main函数结束或调用exit函数结束程序时,才调用析构函数。

2.对象指针

  (1)指向对象的指针
     对象空间的起始地址就是对象的指针
     类名 * 对象指针名;
(2)指向对象成员的指针
     存放对象成员地址的指针变量就是指向对象成员的指针变量。
     指向对象数据成员的指针:数据类型名 * 指针变量名;
     指向对象成员函数的指针:数据类型名 (类名:: *指针变量名)(参数表列);
                                           使指针变量指向一个公用成员函数的形式为:指针变量名=& 类名::成员函数名;
(3)this指针
     在每一个成员函数中都包含一个特殊的指针,这个指针的名字是固定的,称为this。它是指向本类对象的指针,它的值是当前被调用的成员
函数所        在对象的起始地址。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值