纯虚函数在虚基类中也能有实现 的作用
提供一个默认的实现,但又不希望你直接用那个类。但这个默认的实现是可以在子类里,通过ParentClass::Method的方式调用。说白了,就是因为蛋疼。
■网友
至少基类析构函数在声明成纯虚函数的时候又得提供一个实现,否则链接的时候会挂。
■网友
鄙陋的实用主义说:有用就有意义,没用的东西再牛逼都不觉得,管他什么设计理念,我才没有那么崇高。
■网友
傲娇,提供一个,又不希望你用
■网友
之前看过这一节,我觉得书上写的很明确了,这样做的目的是:提供一个default实现,但是derived class was allowed to inherit that behavior only when explicitly saying that it wanted to
【纯虚函数在虚基类中也能有实现 的作用】 这样做的一个好处是,避免有些derived class中事实上不能够用base class的default实现,但是仅仅是因为忘记override而使用了base class的default实现。
当然,书中还提到了另一个可以到到同样功能的方法,那就是定义一个non virtual function来实现default功能,细节可以参考第34节。
推荐阅读
- C语言指数函数代码
- 单例模式static函数必须在头文件中实现么
- 函数|你要来试试吗?高中数学丨越做越起劲的100道高中数学函数类压轴题
- 咋用c语言或java打点出函数图
- javascript函数的调用模式有哪几种
- Python中的函数、方法,例如list的append()方法和del函数
- 函数|原来……学霸是这样将数学提升到130+(附必修1-5学习重点及高中各阶段学习重点)
- 请教一个数值积分问题,怎样用matlab的quadgk函数来计算
- 请教一下以下两个贝塞尔函数积分
- 关于C语言回调函数的零散问题,先谢谢了……?
