实体:客观世界存在的某种事物,一杯茶,一个人。每个实体都有属性,其中,特征称为静态属性,功能称为动态属性。比如人的特征{两只腿,一双眼睛...},人的功能:{写字,工作...}。
对象:对实体进行抽象得到了对象。{特征—>数据,功能—>函数}
类(class):具有相同特征与功能的对象集合。对象是类的实例化(instance)。
如果出现以下几种情况,程序就会执行析构函数:
- 如果在一个函数中定义了一个对象(它是自动局部对象),当这个函数被调用结束时,对象应该释放,在对象释放前自动执行析构函数。
- static局部对象在函数调用结束时对象并不释放,因此也不调用析构函数,只在main函数结束或调用exit函数结束程序时,才调用static局部对象的析构函数。
- 如果定义了一个全局对象,则在程序的流程离开其作用域时(如main函数结束或调用exit函数) 时,调用该全局对象的析构函数。
- 如果用new运算符动态地建立了一个对象,当用delete运算符释放该对象时,先调用该对象的析构函数。