请问这个的输出步骤是什么,就是如何得出的2213答案

4.抽象类与构造函数
#include<iostream
using namespace std;
class ONE
{ public:
virtual void f()
{cout <<<“1": }
};
class TWO: public ONE
{ public:
TWO(){ cout<<“2";}
};
class THREE: public TWO { public:
virtual void f()
{ TWO::f(); cout < “3“: }
};
int main()
{
ONE aa, *p;
TWO bb; //输出
THREE cc: //输出
p = &cc;
p->f(): //输出
return 0:
}
结果是2213


int main()
{
    ONE aa, *p;
    TWO bb; //  1 构造输出2,
    THREE cc; // 2 TWO的构造输出2
    p = &cc;
    p->f(); // 3 TWO::f()输出1,再输出3
    return 0;
}