单项选择题

下面程序的运行结果是
  #include<iostream.h>
  class base
  protected:
    int a;
  public:
    base( )cout<<"0";
  ;
  class basel:virtual base
  public:
    basel( )cout<<"1";
  ;
  class base2:virtual base
  public:
    base2( )cout<<"2";
  ;
  class derived:public basel,public base2
  public:
    derived( )cout<<"3";
  ;
  void main( )
  
    derived obj;
    cout<<endl;

A.0123
B.3120
C.0312
D.3012