栗悟饭和龟仙人 2017-08-02 10:37 采纳率: 25%
浏览 709

以下代码输出什么?why...

以下代码输出什么?
#include

class A
{
public:
void f1()
{
f2();
}
virtual void f2()
{
printf("A\n");
}
};

class B : public A
{
public:
void f2()
{
printf("B\n");
}
};

int main()
{
A *a = new B();
a->f1();
return 0;
}

  • 写回答

2条回答 默认 最新

  • threenewbee 2017-08-02 16:44
    关注

    输出B,因为f1是虚函数,看实际实例化的那个对象的类型

    评论

报告相同问题?