首页 > 代码库 > 继承与接口1
继承与接口1
下面程序输出什么:
#include<iostream> using namespace std; class A { public: void virtual f(){ cout<<"A"<<endl; } }; class B:public A{ public: void virtual f(){ cout<<"B"<<endl; } }; int main() { A* pa=new A();//定义了一个A类型的指针pa,pa指向A类 pa->f(); B* pb=(B*)pa;//定义了一个B类型的指针pb,pb也指向A类 pb->f(); delete pa,pb;//删除了pa、pb所指向的地址,但是pa,pb的指针类型依然是A类的 pa=new B();//pa指向B类 pa->f(); pb=(B*)pa; pb->f(); return 0; }
这道题主要考察虚函数的覆盖虚函数的问题。虚函数是被子类同名函数所覆盖的。
输出结果是AABB
本文出自 “7883538” 博客,请务必保留此出处http://7893538.blog.51cto.com/7883538/1433391
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。