文章插图
虚函数和纯虚函数有以下所示方面的区别 (1)类里如果声明了虚函数 , 这个函数是实现的 , 哪怕是空实现 , 它的作用就是为了能让这个函数在它的子类里面可以被覆盖 , 这样的话 , 这样编译器就可以使用后期绑定来达到多态了 。纯虚函数只是一个接口 , 是个函数的声明而已 , 它要留到子类里去实现 。(2)虚函数在子类里面也可以不重载的;但纯虚函数必须在子类去实现 , 这就像Java的接口一样 。通常把很多函数加上virtual , 是一个好的习惯 , 虽然牺牲了一些性能 , 但是增加了面向对象的多态性 , 因为很难预料到父类里面的这个函数不在子类里面不去修改它的实现 。(3)虚函数的类用于“实作继承” , 继承接口的同时也继承了父类的实现 。当然大家也可以完成自己的实现 。纯虚函数关注的是接口的统一性 , 实现由子类完成 。(4)带纯虚函数的类叫虚基类 , 这种基类不能直接生成对象 , 而只有被继承 , 并重写其虚函数后 , 才能使用 。这样的类也叫抽象类 。
【C/C++面试题:虚函数与纯虚函数有什么区别】
推荐阅读
- 冰箱上面冻的冰冰厚怎么处理
- 大面积冰怎么化的快
- 水龙头根部断在里面了怎么办
- 核武器杀伤力主要在哪些方面?
- 前面这个女演员是谁
- 靴子里面要不要洗
- ps4商城如何搜索游戏,搜索界面打不了中文,该怎么搜索
- 做面包放什么比较松软
- 面包松软拉丝的秘诀
- 爱斯基摩人住的冰屋里面温度是多少啊?