第三章
3.1知识点
- public、private和protected被称为访问权限修饰符或访问控制修饰符。
- 每个成员函数都有一个隐含的this 指针,用来指向当前对象。
3.2深拷贝和浅拷贝
系统为每个类提供的默认构造函数都是浅拷贝的。当浅拷贝复制指针类型的数据成员时,不会生成动态空间,只会复制一个指针值。当析构时,就有可能出现指针悬挂的问题。
通过自定义拷贝构造函数实现深拷贝则可以解决问题,深拷贝通过指针另外申请动态空间,再复制对应动态空间中的内容。
3.3友元关系
友元函数(在类中)声明的位置任意,不受访问属性的限制。
在友元类中,友元关系不具有交换性。即在类A中将类B声明为自己的友元类,代表着A授权B访问自己所有的数据成员,但A并没有权利访问类B的数据成员,除非类B也把类A声明为自己的友元类。
同时,友元关系也不具有传递性,这个好理解。