c++和Java在用基类对象调用子类对象时,在用基类对象调用函数,有什么区别

2024-12-20 12:27:41
推荐回答(3个)
回答1:

其实JAVA天生就支持多态的,所以类中的函数如果不被标识为private,都是可以重写的,即实现你想要的通过基类指针调用派生类的函数。
但是C++要实现多态就需要在你需要的函数前面加上virtual关键字,比如你基类的display函数应该写为:
virtual public void display();
派生类也同样需要这样。

回答2:

代码好乱,而且还有错。。。其实这个,c++中要实现动态联编,要将基类的那个函数设置为虚函数
也就是如果上面的B0类中display函数改为virtual void display(){...}才能实现多态
java中当然没这么麻烦,java省去了很多c++里面看似没用的东西,所以简单很多,java受欢迎不就是因为简单嘛

回答3:

没学C++