c++ primer阅读笔记-15章-7
2014-04-28 21:02
211 查看
15.8. 句柄类与继承
1、C++ 中面向对象编程的一个颇具讽刺意味的地方是,不能使用对象支持面向对象编程,相反,必须使用指针或引用。
2、但是,使用指针或引用会加重类用户的负担。
3、C++ 中一个通用的技术是定义包装(cover)类或句柄类。句柄类存储和管理基类指针。指针所指对象的类型可以变化,它既可以指向基类类型对象又可以指向派生类型对象。用户通过句柄类访问继承层次的操作。因为句柄类使用指针执行操作,虚成员的行为将在运行时根据句柄实际绑定的对象的类型而变化。因此,句柄的用户可以获得动态行为但无须操心指针的管理。
4、包装了继承层次的句柄有两个重要的设计考虑因素:
a):像对任何保存指针(第 13.5 节)的类一样,必须确定对复制控制做些什么。包装了继承层次的句柄通常表现得像一个智能指针(第 13.5.1 节)或者像一个值(第 13.5.2 节)。
b):句柄类决定句柄接口屏蔽还是不屏蔽继承层次,如果不屏蔽继承层次,用户必须了解和使用基本层次中的对象。
1、C++ 中面向对象编程的一个颇具讽刺意味的地方是,不能使用对象支持面向对象编程,相反,必须使用指针或引用。
2、但是,使用指针或引用会加重类用户的负担。
3、C++ 中一个通用的技术是定义包装(cover)类或句柄类。句柄类存储和管理基类指针。指针所指对象的类型可以变化,它既可以指向基类类型对象又可以指向派生类型对象。用户通过句柄类访问继承层次的操作。因为句柄类使用指针执行操作,虚成员的行为将在运行时根据句柄实际绑定的对象的类型而变化。因此,句柄的用户可以获得动态行为但无须操心指针的管理。
4、包装了继承层次的句柄有两个重要的设计考虑因素:
a):像对任何保存指针(第 13.5 节)的类一样,必须确定对复制控制做些什么。包装了继承层次的句柄通常表现得像一个智能指针(第 13.5.1 节)或者像一个值(第 13.5.2 节)。
b):句柄类决定句柄接口屏蔽还是不屏蔽继承层次,如果不屏蔽继承层次,用户必须了解和使用基本层次中的对象。
相关文章推荐
- c++ primer阅读笔记-15章-5
- c++ primer阅读笔记-15章-6
- c++ primer阅读笔记-15章-3
- c++ primer阅读笔记-15章-4
- c++ primer阅读笔记-15章-2
- c++ primer阅读笔记-15章-1
- C++ Primer 第二遍阅读笔记(第一章)
- 《C++ primer》英文第五版阅读笔记(十一)——Iterators
- 《C++ primer》英文第五版阅读笔记(十六)——赋值运算符
- C++ primer第二次阅读学习笔记(第1、2章)
- C++ primer第二次阅读学习笔记(第11章:泛型算法)
- C++ primer第二次阅读学习笔记(第17章:用于大型程序的工具:多重继承与虚继承) .
- c++ primer阅读笔记-12章-4
- c++ primer阅读笔记-13章-2
- C++ primer 习题笔记第13~15章
- 《C++ primer》英文第五版阅读笔记(二十五)——函数基本知识
- c++ primer阅读笔记-12章-2
- C++ primer第二次阅读学习笔记(第11章:泛型算法)
- C++ Primer 第二遍阅读笔记(第十章)
- c++ primer阅读笔记-13章-3