使用Ve6打开考生文件夹proj2下的工程proj2。其中在编辑窗口内显示的主程序文件中定义有类XBase和XDerived,以及主函数main。程序文本中位于每行”//************found************下面的一行内有一处或多处下划

admin2021-06-10  62

问题 使用Ve6打开考生文件夹proj2下的工程proj2。其中在编辑窗口内显示的主程序文件中定义有类XBase和XDerived,以及主函数main。程序文本中位于每行”//************found************下面的一行内有一处或多处下划线标记,请在每个下划线标记处填写合适的内容,并删除掉下划线标记。经修改后运行程序,得到的输出结果为:s=25
#include
using namespace std;
Class XBase
{
  private:
    int mem1,mem2;
  public:
  //*****found*****
    XBase(int m1=0,int m2=0):mem1(m1),_________()
    //*****found*****
    virtual int__________
};
//*****found*****
class XDerived:_________
{
  private:
    int mem3;
  public:
    XDerived():XBase(),mem3(0){}
    //*****found*****
    XDerived(int m1,int m2,
int m3):__________{}
    int sum(){return XBase::
slim()+mem3;}
};
void main()(
    XDerived b(3,4,5);
    XBase a(6,7),*pb=&b;
    int s=pb->SLIm()+a.sum();
    cout<<"s="<}

选项

答案(1)mem2(m2) (2)sum(){return mem1+mem2;} (3)public XBase (4)XBase(m1,m2),mew3(m3)

解析 (1)题意要求使用m1和m2初始化数据成员mem1和mem2,同mem1的初始化一样,需要在成员初始化列表中完成mem2的初始化。
    (2)sum函数的定义需要返回mem1和mem2之和。
    (3)XDerived公有继承XBase类,在继承列表中使用public。
    (4)在成员初始化列表中初始化基类成员时,需要调用基类的构造函数,初始化mem3时,可以直接初始化。
转载请注明原文地址:https://jikaoti.com/ti/GWh0FFFM
0

最新回复(0)