单项选择题

对于类定义   class A{   public:     virtual void func1( ){}     void func2( ){}   };   class B:public A{   public:     void func1( ){cout<<"class B func 1"<<endl;}     virtual void func2( ){cout<<"class B func2"<<endl;}   };   下面正确的叙述是( )。

A. public A a=new A( );
B. public A a=A();
C. A a=new class();
D. a A;