C++虚函数与纯虚函数

C++的虚函数与纯虚函数

C++项目看起来真的是太恼火了,源码阅读起来有点不便,幸亏有source insight 保命。C++有个很重要的特性,那就是多态。多态的实现主要是两种方式:一个就是函数的重载,另一个就是继承中对虚函数的重写。虚函数的引入对C++大型项目接口设计统一标准起到了非常重要的作用,与虚函数相对应的就是纯虚函数。

虚函数:用 virtual 标识标记的函数就是虚函数,只含有虚函数(且不含纯虚函数)的类就叫做虚类或者虚基类虚函数必须要实现,可以是空函数体。被子类继承,子类不重写的话那就是直接基类的方法。

纯虚函数:同样含有 virtual 标识符,但是定义时函数则是在函数名后直接加 =0 定义;含有纯虚函数的类叫纯虚类纯虚函数不用实现。子类只继承函数名,具体功能需要子类自己实现。

栗子奉上:

virtual void printTest();         //虚函数,需要函数体 
virtual void printTest() = 0;     //纯虚函数,只用定义

Java抽象类和接口

写过Java的人会发现,这个的功能特性与 java 的抽象类和接口的函数是类似的

抽象类:用 abstract 标识符标记的类就叫抽象类。抽象类的函数需要函数体,类似C++虚函数一样。

接口:与类(class)相对,用 Interface 标识符标记。接口只定义函数名,不具体实现。这个类似C++纯虚函数

直接栗子:

// 以下为多个文件
//-------------------- Base.java-----------------
package test;

a
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值