虚函数和非虚函数

接口继承和实现继承

public继承下,派生类总是继承基类的接口。

纯虚函数必须被派生类重新声明,通常在抽象类中没有定义。声明一个纯虚函数的目的就是为了让派生类只继承函数接口。

也可以为纯虚函数提供定义,但是调用时需要明确指出类名称。用途有限,比如为普通虚函数提供更平常更安全的缺省实现。

声明普通虚函数的目的是让派生类继承该函数接口和缺省实现。

分割接口和默认实现。

声明非虚函数的目的是为了让派生类继承函数的接口和一份强制性实现。

非虚函数意味着并不打算在派生类中有不同行为,不变性凌驾于特异性之上。行为不可改变,派生类不该重新定义它。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 参考来源:知乎 定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的...
    夜幕青雨阅读 861评论 0 6
  • 1. 结构体和共同体的区别。 定义: 结构体struct:把不同类型的数据组合成一个整体,自定义类型。共同体uni...
    breakfy阅读 2,175评论 0 22
  • C++虚函数 C++虚函数是多态性实现的重要方式,当某个虚函数通过指针或者引用调用时,编译器产生的代码直到运行时才...
    小白将阅读 1,759评论 4 19
  • 1. 让自己习惯C++ 条款01:视C++为一个语言联邦 为了更好的理解C++,我们将C++分解为四个主要次语言:...
    Mr希灵阅读 2,881评论 0 13
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 9,545评论 1 51