以下程序在编译和执行过程中是否会导致任何问题?

时间:2010-03-25 00:53:34

标签: c++

以下程序在编译和执行过程中是否会导致任何问题?

class A{
  public: virtual void foo(){}
};

class B:public A{};

int main(){
    B b;
    b.foo();
}

4 个答案:

答案 0 :(得分:1)

也许,我猜,他们正在测试你是否知道虚拟抽象之间的区别?

答案 1 :(得分:1)

编译或运行此程序不会有任何问题。

virtual函数可以被覆盖,但它们不一定是。如果对象的类没有实现虚函数,那么将检查超类的实现。

答案 2 :(得分:0)

对我来说很好看。你认为它会导致什么问题?

答案 3 :(得分:0)

为什么会有问题?您正在调用在父类上定义的虚函数。 B继承了它。