应添加“BA(intm){a=m;}”。 (2)应添加“PAl(intm,intn):BA(n){b=m;}”。 (3)应添力Ⅱ“PA2(intm,intn,intk):PAl(n,k){C=m;)”。 (4)应添加“cout<<geta<<""<<getb<<""<<C<<endl;”。 【解析】根据第1处要求,构造函数的函数名和类名一致,显然BA构造函数的名称为BA,在BA中通过参数m完成对成员变量a的赋值,因此构造函数的名称为BA(intm),在函数内部对成员a赋值,故第1处的语句应添加“BA(in

题目

应添加“BA(intm){a=m;}”。 (2)应添加“PAl(intm,intn):BA(n){b=m;}”。 (3)应添力Ⅱ“PA2(intm,intn,intk):PAl(n,k){C=m;)”。 (4)应添加“cout<<geta<<""<<getb<<""<<C<<endl;”。 【解析】根据第1处要求,构造函数的函数名和类名一致,显然BA构造函数的名称为BA,在BA中通过参数m完成对成员变量a的赋值,因此构造函数的名称为BA(intm),在函数内部对成员a赋值,故第1处的语句应添加“BA(intm){a=m;)”。根据第2处的要求,构造函数的形式为“PAl(intm,intn)”,m赋值给PA1类成员b,将n作为基类BA构造函数的参数值传入,故第2处应添加“PA1(intm,intn):BA(n){b=m;}”。根据第3处的要求,函数形式为PA2(intm,intn,intk),在构造函数中将m赋值给数据成员c,将n和k分别赋值给基类PA1构造函数的参数m和n,因此第3处应添加“PA2(intm,intn,intk):PA1(n,k){C=m;}”。根据第4处的要求,PA2类公有派生于PA1,而PA1公有派生于BA,因此在PA2类中可以调用基类的geta和getb来获得基类私有成员a和b,再输出PA2的私有成员C即满足要求,因此第4处应添加“cout<<geta<<""<<getb<<""<<C<<endl;”。


相似考题
更多“应添加“BA(intm){a=m;}”。 (2)应添加“PAl(intm,intn):BA(n){b=m;}”。 (3)应添力Ⅱ“PA2(intm,in ”相关问题
  • 第1题:

    阅读下面程序段,则执行后的结果为 #include"stdio.h" main() { int m=4,n=2,k; k=fun(m,n); printf("%d\n",k);} fun(int m,int n) { return(m*m*m-n*n*n);}

    A.64

    B.8

    C.56

    D.0


    正确答案:C
    解析:如果没有指明函数值类型,则默认函数返回值的类型为int型。注意:顺序程序结构的执行过程。

  • 第2题:

    阅读下面程序段,则执行后的结果为

    #include "stdio.h"

    main()

    { int m=4,n=2,k;

    k=fun(m,n);

    printf("%d\n",k);}

    fun(int m,int n)

    { return(m*m*m-n*n*n);}

    A.64

    B.8

    C.56

    D.0


    正确答案:C
    解析:函数之间的数据传递。如果没有指明函数值类型,则默认函数返回值的类型为int型。

  • 第3题:

    【简答题】定义一个接口,接口中有3个抽象方法如下。 (1)“long fact(int m);”方法的功能为求参数的阶乘。 (2)“long intPower(int m,int n);”方法的功能为求参数m的n次方。 (3)“boolean findFactor(int m,int n);”方法的功能为判断参数m加上参数n的和是否大于100。 定义类实现该接口,编写应用程序,调用接口中的3个方法,并将调用方法所得的结果输出。


    extends

  • 第4题:

    有如下程序: include using namespace std; class Base{ int x; pu

    有如下程序: #include<iostream> using namespace std; class Base{ int x; public: Base(int n=0):x(n){cout<<n;) int getX()const{return x;} }; class Derived:public Base{ int y; public: Derived(int m,int n):y(m,)Base(n){cout<<m;} Derived(int m):y(m){cout<<m;} }; int main(){ Derived d1(3),d2(5,7) return 0; }运行时的输出结果是

    A.375

    B.357

    C.375

    D.357


    正确答案:C

  • 第5题:

    有如下程序: #include<iostream> using namespace std; class Base{ int x: public: Base(int n=0):x(n){cout<<n;} int getXconst{return x;} }; cjass Derived:public Base{ int Y:. J;;Iublic: Derived(int m,int n):y(m),Base(n){cout<<m;} Derived(int m):Y(m){cout<<m;} }; int main { Derived dl(3),d2(5,7); retum 0; } 执行这个程序的输出结果是( )。

    A.375

    B.357

    C.0375

    D.0557


    正确答案:C
    本题考查派生类的构造函数和析构函数,在定义一个派生类的对象时,先调用基类的构造函数,然后再执行派生类的构造函数,对象释放时,先执行派生类的析构函数。再执行基类的析构函数。本题中定义了一个对象d1,先执行基类的构造函数输出0,再执行派生类的构造函数输出3,然后定义了一个对象d2(5,7),其中需要调用基类的构造函数输出7.最后输出5,所以答案为c。