这个问题主要考察的是C和C++的区别,以及C++中继承和多态的概念。
我们都知道C语言是面向过程的一种语言,C++则是面向对象的一类语言,而且C++是在C语言基础上进行改进的一类语言,所以C++有C所没有的的三大特性,它们分别是:封装,继承和多态,那仫什仫是继承和多态呢?
1、什仫是继承?
继承是一种复用手段,继承是类型之间的关系建模,共享共有的东西,实现各自本质不同的东西。
2、什仫是多态?
多态的字面意思就是”多种形态”,在C++中多态分为静态多态(重载)和动态多态。
静态多态/重载:函数名相同,函数参数不同(参数的个数和参数的类型),返回值可同可不同。
动态多态实现的条件:
1>、使用场景:父类的指针或者引用指向父类或者子类的对象(由赋值兼容规则决定);
2>、实现多态的两个条件:虚函数的重写;父类的指针或者引用调用重写的虚函数。
3>、若父类中的成员函数加上virtual关键字,则子类中重写的该函数默认virtual,可以不指定,但是一般加上;
重写:子类重写父类的虚函数,要求函数名称,函数参数,返回值完全一样(协变除外);
C+
C语言模拟实现C++中的继承和多态
最新推荐文章于 2019-04-08 17:18:12 发布