首页
社区
课程
招聘
[讨论]关于虚函数的问题
发表于: 2011-4-21 10:30 3536

[讨论]关于虚函数的问题

2011-4-21 10:30
3536
例如  
class Base
{
public:
	virtual void Testfun1(){i=1;j=2;}
	virtual void Testfun2(){i=11;j=22;}
	void Test(){cout<<"Base TEst\n";}
private:
	int i;
	int j;
};
class SubClass :public Base
{
public:
	void Testfun1(){i=44;j=55;}
	void Test(){cout<<"SubClass TEst\n";}
private:
	int i;
	int j;
};

这段代码中 基类的Testfun2函数子类中没有重载,
但是我用OD反汇编查看的时候发现子类的虚函数表也已经存在了
和基类地址相同的Testfun2  
那么这个是不是说明一点, 如果子类没有重载的话,会自动给子类的函数表中
写入基类的函数地址 .. 那么这个工作是由编译器完成的吗?

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 155
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
虚函数是晚绑定的 子类继承父类 其中的函数是公用的
2011-4-21 11:16
0
游客
登录 | 注册 方可回帖
返回
//