虚拟表C ++

时间:2012-12-30 13:11:02

标签: c++ inheritance virtual-functions vtable

  

可能重复:
  Does C++ virtual function call on derived object go through vtable?

我有一个关于c ++虚拟表的问题,特别是对于gcc。考虑以下代码

class A{
public:
virtual void doSomething(){}

}

class B : public A{
public:
virtual void doSomething(){}
}

//1 

A* a = new A()
a->doSomething();

现在的问题是,既然指针a指向A的对象,那么编译器是否会在虚拟函数中进行查找,或者它是否足够聪明以解决这个问题并使用虚拟表废话逃脱。?

感谢

0 个答案:

没有答案