《Effective C++》学习笔记
条款34---区分接口继承和实现继承
三种希望:
作为Class的设计者,有时希望derived classes 只继承成员函数的接口(也就是声明)==>实现嘛,要自己写的;有时又会希望derived class同时继承函数的接口和实现,但是能够覆写(重写)他们所继承的实现;有时你希望derived classes 同时继承函数的接口和实现,并不允许覆写任何东西。
声明一个pure virtual函数的目的是为了让derived classes 只继承函数的接口==>必须由你自己实现
声明一个非纯impure virtual函数的目的是让derived classes 继承该函数的接口和缺省的实现。==>你自己可以用基类的,也可以自己进行实现(重写)
声明一个non-virtual函数的目的是为了令derived classes继承函数的接口和以及一份强制性的实现==>你自己不用再实现
Template模式、NVI(non-virtual interface)
阅读(834) | 评论(0) | 转发(0) |