C#中的虚函数?

来源:百度知道 编辑:UC知道 时间:2024/05/22 00:29:23
a) 多态性和虚函数关系非常密切
b) 需要从派生类的对象调用基类方法时,可以使用虚函数
c) 需要从基类的对象调用派生类方法时,可以使用虚函数
d) 虚函数定义中需要添加virtual关键字

看一下B和C是什么意思哦?没明白,高手给解释一下!!

这个问题涉及到虚函数的的特性问题,当用基类指针或者基类引用调用虚函数时他能实现动态绑定(运行时多态性)。我举个例子吧:class A{pubilic:
virtual viod print(){cout<<"aa"<<endl;}};
class B:public A{virtual viod print(){cout<<"bb"<<endl;}};
viod showprint(A&a){a.print()}
main(){B b;showprint(b);return 0;}
运行的结果是:bb 可见调用的是派生类对象的成员。这样你就验证了《c) 需要从基类的对象调用派生类方法时,可以使用虚函数》。上例你如果在派生类中不重新定义函数print是,运行结果只能是调用了基类的成员函数显示aa。这样就验证了《需要从派生类的对象调用基类方法时,可以使用虚函数
》。