填空题 有如下程序: #include<iostream> using namespace std class Base{ int b; public: Base(int i) {b=i;} Void disp ( ) {cout<<"Base:b="<<b<<''; } }; class Base1:virtual public Base{ public: Base1(int i):Base(i){} }; class Base2:virtual public Base{ public: Base2(int i):Base(i){} }; class Derived:public Base2. public Base1{ int d; public: Derived(int i ,int j):Base1(j),Base2(j),{{U}} 【12】 {{/U}} { d=i; } void disp() {cout<<"Derived:d="<<d<<' ';} }; int main() Derived objD(1,2);objD. disp() objD. Base::disp(); objD. Base1::disp() objD. Base2::disp(); return 0; } 请将程序补充完整,使程序在运行时输出: Derivd:d=1 Base:b=2 Base:b=2 Base:b=2
  • 1、
【正确答案】 1、Base(j)    
【答案解析】[解析] 因为程序在运行时输出:Derivde:d=1 Base:b=2 Base:b=2 Base:b=2,而前两个Base:b=2 Base:b=2分别来自Base1(j),Base2(j),而在程序类的声明中,Base类也具有输出Base:b=2的功能。所以,程序中应补充的代码为Base(j)。