[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fz-vDgaHoMXJ6RDXkB_aSb6yveLpaeb9V4a839GIUJJI":3},{"answer":4,"createTime":5,"id":6,"options":7,"origin":13,"question":20,"related":21,"source":25,"type":26},[],"2023-06-09 23:14:38",56056932,[8,9,10,11,12],"\u003Cimg src=\"https:\u002F\u002Ftihai-oss-cloud.itihey.com\u002Fimg\u002F051fc8c92fcc16b280b90fc21f3f9ce6.png\">","\u003Cimg src=\"https:\u002F\u002Ftihai-oss-cloud.itihey.com\u002Fimg\u002F6758694f17f386e6080426082847036a.png\">","\u003Cimg src=\"https:\u002F\u002Ftihai-oss-cloud.itihey.com\u002Fimg\u002F6d6c0af355458cf396051d553d2909af.png\">","\u003Cimg src=\"https:\u002F\u002Ftihai-oss-cloud.itihey.com\u002Fimg\u002F1cd361aaf183127c548ce2cae3a96816.png\">","以上都不对",{"count":14,"courseId":15,"courseImg":16,"courseName":17,"workId":18,"workName":19},45,"d546a0bff31cef9b5b42bef709a2e858","https:\u002F\u002Ftihai-oss-cloud.itihey.com\u002Fimg\u002F4c7af9182a07a7f3cde94a24ba29ab4c.jpg","面向对象程序设计","work_27952034","05-08班第四次作业","{ D d; return 0; }",[22,27,36,45,54,63,72,81,90,99],{"answer":23,"createTime":5,"id":6,"options":24,"question":20,"source":25,"type":26},[],[8,9,10,11,12],"v1",0,{"answer":28,"createTime":5,"id":29,"options":30,"question":35,"source":25,"type":26},[],56056933,[31,32,33,34,12],"该程序不存在问题,能够编译通过","该程序存在名字冲突问题,在(1)处增加1条语句using A::num;即可编译通过","该程序存在名字冲突问题,在(2)处将f( )修改为B::f( )即可编译通过","该程序存在名字冲突问题,在(1)处增加2条语句using A::num; using B::f( )即可编译通过","}}",{"answer":37,"createTime":5,"id":38,"options":39,"question":44,"source":25,"type":26},[],56056934,[40,41,42,43],"多重继承下,可能导致名字冲突","为了实现更加灵活的多态","C++不支持接口,故以虚基类作为补充","为了基类数据提供更好的保护","C++引入虚基类的机制是因为",{"answer":46,"createTime":5,"id":47,"options":48,"question":53,"source":25,"type":26},[],56056935,[49,50,51,52],"class virtual B: public A { \u002F*略*\u002F }","class B: virtual public A { \u002F*略*\u002F }","class B: public A virtual { \u002F*略*\u002F }","virtual class B: public A { \u002F*略*\u002F }","下列对虚基类声明正确的是",{"answer":55,"createTime":5,"id":56,"options":57,"question":62,"source":25,"type":26},[],56056936,[58,59,60,61],"限定只能单继承","虚基类","限定多个基类中,至多只能有一个基类有实例变量","以上都包括","考虑到多重继承可能导致命名冲突问题,常见的解决方案是",{"answer":64,"createTime":5,"id":65,"options":66,"question":71,"source":25,"type":26},[],56056937,[67,68,69,70],"class Telephone { public: void callTo( ); void callBy( ); private: \u002F* 略 *\u002F }","class IComputer { public: static const int xx = 1; public: virtual ~IComputer( ); virtual void runApp( ); virtual void showVideo( ); }","class Mobile:public Telephone,public IComputer { public: void callTo( ); void callBy( ); virtual void runApp( ); virtual void showVideo( ); }","class Package { public: static void PackBinary( ); static void PackText( ); static void PackPicture( ); static int getVer( ); private: static int version; }","下面选项中最应该是工具类的是",{"answer":73,"createTime":5,"id":74,"options":75,"question":80,"source":25,"type":26},[],56056938,[76,77,78,79],"class C: public A {public: void fB( ); void fC( );private: B mb; }","class C: public B {public: void fA( ); void fC( ); private: A ma; }","class C: public A { public: void fC( );private: void fB( ); B mb; }","class C: public B {public: void fC( );private: void fA( ); A ma; }","已定义了类A、类B和类C,其中类C采用多重继承的方式,从类A和类B派生,如下:class A {public: void fA( );};class B {public: void fB( );};class C:private A, public B {public: void fC( );};那么若改类C为单继承,那么最合适的是",{"answer":82,"createTime":5,"id":83,"options":84,"question":89,"source":25,"type":26},[],56056939,[85,86,87,88],"D中的两个f函数,是以重载的形式出现的,不用虚基类也没问题,因此解决函数冲突不是虚基类的主要目的","虚基类本质上是解决地址冲突的问题.实际上虚基类在改变了对象存储结构的同时,也采用类似的方法,改变了函数的存储结构","D中两个a,同名但地址不同;但D中两个f函数,同名而且实际地址也相同的.因此解决实例变量的地址冲突问题成为虚基类的主要目的","D中两个a分别来自类B和类C,其类型、大小可能会不同;但D中两个f函数的内部表示都是指针,大小固定.因此解决实例变量的地址冲突问题成为虚基类的主要目的","多重继承会产生命名冲突,例如在如下的菱形结构中:struct A { void f( ); int a;};struct B:public A { void g( ); int b;};struct C: public A { void h( ); int c;};struct D: public B, public C { void k( ); int d;};采用虚基类会改变D类对象的存储结构,但对于D中成员函数 f 的命名冲突并没有过多的处理.C++语言这样做一定是有道理的,那么合理的说法是",{"answer":91,"createTime":5,"id":92,"options":93,"question":98,"source":25,"type":26},[],56056940,[94,95,96,97],"该程序的输出结果为: 6 6 6 6 3.14","该程序的输出结果为: 0 0 0 6 3.14","该程序的输出结果为 0 0 0 6 0","在(1)处增加语句Shape&amp; rc=cir; rc.Draw( ); 则该程序的输出结果为: 0 0 0 6 3.14 a circle","假设存在下面代码,选项中说法正确的是: \u003Cimg src=\"https:\u002F\u002Ftihai-oss-cloud.itihey.com\u002Fimg\u002F66e3c9208d92271547cc6e2bbee85e10.png\">",{"answer":100,"createTime":5,"id":101,"options":102,"question":107,"source":25,"type":26},[],56056941,[103,104,105,106],"静态编联也称为晚绑定、静态绑定","静态编联是运行期间决定具体调用哪个函数体","动态编联是编译期间就决定了程序运行时将具体调用哪个函数体","动态编联通常是以虚机制来实现的","下列说法中正确的是"]