50

单选题 50 /53

有如下程序段:
#include <iostream>
using namespace std;

class A {
  public:
    ~A() { cout << "~A()"; }
};
class B {
  public:
    virtual ~B() { cout << "~B()"; }
};
class C : public A, public B {
  public:
    ~C() { cout << "~C()"; }
};
int main() {
    C *c = new C;
    B *b1 = dynamic_cast<B *>(c);
    A *a2 = dynamic_cast<A *>(b1);
    delete a2;
}
则程序输出:

参考答案

~C()~B()~A()
~C()~A()~B()
A)B)都有可能
以上都不对