在java和c++中都有多态属性,都是比较重要的内容。
对比他们相似处有,
1. 都需要封装,类中有数据成员和成员方法的封装,这就是面向过程c语言不支持多态的原因。
2. 重写 c语言也不支持,不支持函数同名
3. 父类引用指向子类对象,那么在父类指向子类对象在调用重写的方法时候就会执行 子类重写的方法 。
java和c++的不同
在第二点重写的时候,在c++中一定要注意在父类函数中,必须要加virtual关键字,不然只是被复写不能执行动态绑定执行多态。
第三点中,c++除了引用,还有指针行为可以执行动态绑定,实现多态。