1. 为什么要引入构造函数和析构函数
对象的初始化是指对象数据成员的初始化,在使用对象前,一定要初始化
由于数据成员一般为私有的(private),所以不能直接赋值
对对象初始化有以下两种方法: 类中提供一个普通成员函数来初始化,但是会造成使用上的不便(使用对象前必须显式调用该函数)和不安全(未调用初始化函数就使用对象)
当定义对象时,编译程序自动调用构造函数
析构函数的功能是当对象被撤消时,释放该对象占用的内存空间
析构函数的作用与构造函数正好相反,一般情况下,析构函数执行构造函数的逆操作
在对象消亡时,系统将自动调用析构函数,执行一些在对象撤消前必须执行的清理任务
类的公有、私有和保护成员之间的区别是什么
① 私有成员private: 私有成员是在类中被隐藏的部分,它往往是用来描述该类对象属性的一些数据成员,私有成员只能由本类的成员函数或某些特殊说明的函数(如第4 章讲到的友员函数)访问,而类的外部根本就无法访问,实现了访问权限的有效 控 制 ,使数据得 到有效 的保护,有利 于数据的隐藏,使内部数据不能被任意 的访问和修 改 ,也 不会对该类以外的其 余 部分造成影 响 ,使模 块 之间的相互 作用被降 低 到最 小
private 成员若 处 于类声 明中的第一部分,可 省 略关 键 字 private
② 公有成员public:公有成员对外是完 全开 放的,公有成员一般是成员函数,它提供了外部程序与类的接口 功能,用户 通过 公有成员访问该类对象中的数据
③ 保护成员protected: 只能由该类的成员函数,友元 ,公有派 生 类成员函数访问的成员
保护成员与私有成员在一般情况下含 义相同 ,它们 的区别体 现在类的继 承 中对产 生 的新 类的影 响 不同 ,具 体 内容 将在第5 章中介 绍
缺 省 访问控 制(未指定private、