- 成员对象和封闭类
定义:含有成员对象的类叫做封闭类
注意事项:
- 在定义封闭类时,一定要注意其中成员对象的初始化问题。任何生成封闭类对象的语句都应该让编译器明白,对象中的成员对象是如何初始化的。具体做法为:通过封闭类的构造函数创建初始化列表。
- 封闭类对象生成时,先执行所有对象成员的构造函数,然后才执行封闭类的构造函数。
- 对象成员的构造函数调用次序和对象成员在类中的说明次序一致,与它们在成员初始化列表中出现的次序无关。
- 当封闭类的对象消亡时,先执行封闭类的析构函数,然后再执行成员对象的析构函数。次序和构造函数的调用次序相反。
封闭类的复制构造函数:封闭类的对象,如果是通过使用默认复制构造函数初始化的,那么它里面包含的对象也会用复制构造函数初始化。
- 友元
①友元函数:一个类的友元函数可以访问该类的私有成员
②友元类:若A是B的友元类,则A的成员函数可以访问B的私有成员,但反过来不行。
注意事项:友元类之间的关系不能传递,不能继承