我有以下基本代码:structX{X(constchar*descr){...}~X(){...}//Notvirtualvirtualvoidfoo()const{...}};structY:publicX{Y(constchar*descr){...}~Y(){...}//Notvirtualvirtualvoidfoo()const{...}};constX&factory(){staticXsampleX{"staticX"};staticYsampleY{"staticY"};returnXorYdependingofthetestcase;};和4个测试用例:只是Y=OKc