1、有如下Java代码:
public class Parent{ public void function(){ System.out.println("Father.function"); } } public class Child extends Parent{ public void function(){ System.out.println("Child.function"); } } 执行下列程序,结果是什么?(结果为:Child.function)
Parent p = new Child(); p.function();
说明:Java中的函数均是虚函数。
2、有如下C++代码:
class Parent{ public:
virtual void function(){ cout<<"Father.function"; } } class Child : public Parent{ public:
void function(){ cout<<"Child.function"; } } 执行下列程序,结果是什么?
(1)当有virtual关键字,且通过基类类型的引用或指针进行函数调用时,结果为:Child.function(同Java中情况)
(2)否则,结果为:Father.function
Parent *p = new Child(); p->function();