您的位置:首页 > 编程语言 > C语言/C++

Java和C++的虚函数的异同

2016-05-17 19:00 211 查看
  参考博客:点我

  

  要点:Java中的普通函数默认为虚函数,因此动态绑定的行为是默认的,而C++必须将方法声明为虚函数(virtual关键字),执行时才会进行动态绑定,详细区别可参考代码以及注释。

  代码大致:实现父类 Animal类,包含数据成员 姓名和年龄,以及实现eat方法和informa方法,子类Dog类继承于Animal,并实现方法的覆盖。Java和C++中都没有显示声明为虚函数,但观察输出结果可知,Java中实现了动态绑定,而C++没有,只有将相应函数加上virtual关键字,才实现动态绑定。这就是Java和C++处理的不同之处

C++代码:

package com.hao;

public class Main {

public static void main(String[] args) {
// TODO 自动生成的方法存根
Animal A = new Animal("A", 10);
Animal B = new Dog("B", 20);

A.information();
B.information(); //Java中默认使用动态绑定---区别于C++

A.eat();
B.eat();

}

}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: