C中的虚函数
在我的C程序中:
#include<iostream.h> class A { public: virtual void func() { cout<<"In A"<<endl; } }; class B:public A { public: void func() { cout<<"In B"<<endl; } }; class C:public B { public: void func() { cout<<"In C"<<endl; } }; int main() { B *ptr=new C; ptr->func(); } 该语句应该调用B :: func().但是,调用函数C :: func().请详细说明一下.一旦在’A类’中删除了虚拟关键字,就不会再发生这种情况了. 解决方法
有关基础知识,请阅读
C++ FAQ Lite on Virtual Functions.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |