35 考虑virtual 函数以外的其他选择

35 考虑virtual 函数以外的其他选择

方法
NVI(non-virtual interface)手法。在这里插入图片描述
在这里插入图片描述
2. 将 virtual函数替换为“函数指针成员变量”,这是Strategy设计模式的一种分解表现形式。带来的一个缺点是外部函数无法访问class 的non-public成员,因此可能需要以降低封装性来解决。在这里插入图片描述在这里插入图片描述

  1. 以tr1::function成员变量替换virtual 函数,可以接受与给定目标签名式相兼容的所有可调用物。这也是Strategy设计模式的某种形式。在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  2. 将继承体系内的 virtual 函数替换为另-一个继承体系内的virtual 函数。这是Strategy设计模式的传统实现手法。在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值