请教大家一个简单的程序
谁能告诉我执行该程序的顺序,谢谢;
#include<iostream>
using namespace std;
class A
{public:
virtual void fun1()
{cout<<"a1";}
virtual void fun2()
{cout<<"a2";}
};
class B: public A
{public:
B():A()
{fun1();}
void fun()
{fun1();}
~B()
{fun2();}
};
class C: public B
{
public:
void fun1()
{cout<<"c1";}
void fun2()
{cout<<"c2";}
~C()
{fun2();}
};
int main()
{
C obj;
obj.fun();
return 0;
}