更多相关内容见http://www.cnblogs.com/mu-ye/p/7754368.html
抽象基类通常代表一个通用概念。
纯虚函数
把一个函数声明为纯虚函数可以清晰明了的告诉用户当前这个函数是没有实际意义的。
和普通函数不一样,一个纯虚函数无须定义。我们通过在函数体的位置(即在声明语句的分号之前)书写=0就可以就可以将一个虚函数声明为纯虚函数。其中,=0只能出现在类内部的声明语句处。
值得注意的是,我们也可以为纯虚函数提供定义,不过函数体必须定义在类的外部,也就是说,我们不能在类的内部为一个=0的函数提供函数体。
含有纯虚函数的类是抽象基类
含有(或者未经覆盖直接继承)纯虚函数的类是抽象基类。抽象类负责定义接口,而后续的其他类可以覆盖该接口。我们不能(直接)创建一个抽象基类的对象。
关键概念:重构
B继承A,在此体系中增加X类,使得X继承A,B继承X。这是重构的一个典型示例。
重构负责重新设计类的体系以便将操作和/或数据从一个类移动到另一个类中。对于面向对象的应用程序来说,重构是一种很普遍的现象。
值得注意的是,即使我们改变了整个继承体系,那些使用了A或B的代码也无须进行任何改动。
原文链接: https://www.cnblogs.com/mu-ye/p/7795006.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/262748
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!