c++ primer阅读笔记-15章-7

探讨了C++中使用句柄类来管理基类指针的方法,介绍句柄类如何提供动态行为同时减轻用户管理指针的负担,并讨论了复制控制及接口设计的考量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

15.8. 句柄类与继承

1、C++ 中面向对象编程的一个颇具讽刺意味的地方是,不能使用对象支持面向对象编程,相反,必须使用指针或引用

2、但是,使用指针或引用会加重类用户的负担。

3、C++ 中一个通用的技术是定义包装(cover)类或句柄类。句柄类存储和管理基类指针。指针所指对象的类型可以变化,它既可以指向基类类型对象又可以指向派生类型对象。用户通过句柄类访问继承层次的操作。因为句柄类使用指针执行操作,虚成员的行为将在运行时根据句柄实际绑定的对象的类型而变化。因此,句柄的用户可以获得动态行为但无须操心指针的管理。

4、包装了继承层次的句柄有两个重要的设计考虑因素:

a):像对任何保存指针(第 13.5 节)的类一样,必须确定对复制控制做些什么。包装了继承层次的句柄通常表现得像一个智能指针(第 13.5.1 节)或者像一个值(第 13.5.2 节)。

b):句柄类决定句柄接口屏蔽还是不屏蔽继承层次,如果不屏蔽继承层次,用户必须了解和使用基本层次中的对象。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值