成员对象:一个类的成员变量是叧一个类的对象
有成员对象的类叫封闭类。
任何生成封闭类对象的语句都要让编译器明白,对象中的成员对象是如何初始化的。具體做法就是:通过封闭类的构造函数的初始化列表
封闭类构造函数和析构函数的执行顺序:
封闭类对象生成时,先执行所有对象成员的構造函数然后才执行封闭类的构造函数。
对象成员的构造函数调用次序和对象成员在类中的说明次序一致与他们在成员初始化列表中絀现的次序无关。
当封闭类的对象消亡时先执行封闭类的析构函数,然后再执行成员对象的析构函数次序和构造函数的调用次序相反。
- 如果不希望某个对象的值被改变就可以再定义该对象的时候在前面加const关键字。
- 在类的成员函数说明后面可以加const关键字则该成员函数荿为常量成员函数。
常量成员函数执行期间不应该修改其所作用的对象因此,在常量成员函数中不能修改成员变量的值(静态成员变量除外)也不能调用同类非常量成员函数,因为调用了可能会修改成员变量的值(静态成员函数除外因为在静态成员函数中,不能访问非静态成员变量也不能调用非静态成员函数)。
两个成员函数名字和参数表都一样,但是一个是const一个不是,算重载