A.?: B.[] C.new D.&&
A.virtualintvf(int); B.voidvf(int)=0; C.virtualvoidvf()=0; D.virtualvoidvf(int){};
A.virtual B.public C.using D.false