码迷,mamicode.com
首页 > 其他好文 > 详细

继承与接口1

时间:2014-07-02 15:32:58      阅读:260      评论:0      收藏:0      [点我收藏+]

标签:虚函数

下面程序输出什么:

#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

继承与接口1,布布扣,bubuko.com

继承与接口1

标签:虚函数

原文地址:http://7893538.blog.51cto.com/7883538/1433391

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!