面向对象的思考题

1.1 函数指针和函数对象

函数指针和函数对象相同点是两者均可以函数的形式调用,但不同是函数指针无法自己携带数据,必须依靠传入参数完成一定功能。而函数对象自己可以持有数据,减少与外界的耦合。


1.2 函数级别多态

1.2.1回调概念

        辅助类或函数将自身传递给上下文类,以在适当的时机供上下文类调用

1.2.2函数指针实现方式

         一个函数,称之为上下文函数,可以组合一个另一个函数,称之为策略函数,上下文函数可以通过组合不同的策略函数实现函数级别的多态。那么我们如何实现函数的组合呢?答案是利用函数指针,利用函数指针增加函数的弹性。把策略函数的指针传递给上下文函数,在不改变上下文函数代码的情况下通过调用策略函数而实现函数级别的多态。在c语言中用途广泛。

1.2.3函数对象实现方式

       同上,传递函数指针改为传递函数对象。典型应用,C++ STL中排序算法,排序算法需要利用一个函数对象,进行不同策略的排序。<

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值