使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了类baseA、priA1和priA2,其中priA1类由baseA类公有派生,priA2类由priA1类公有派生。上述三个类的定义并不完整,请按要求完成下列操作,将程序补充完整。 程序输出

admin2017-09-20  22

问题 使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了类baseA、priA1和priA2,其中priA1类由baseA类公有派生,priA2类由priA1类公有派生。上述三个类的定义并不完整,请按要求完成下列操作,将程序补充完整。
程序输出结果如下:
    10
    5
    10 5 7
    (1)定义类baseA的构造函数,该构造函数有一个整型的参数m,在构造函数中请将m赋值给数据成员a。请在注释“∥********1********”之后添加适当的语句。
    (2)定义类priA1的构造函数,该构造函数有两个整型的参数m和n,在构造函数中请将m赋值给数据成员b,将n作为基类baseA构造函数的参数值传入。请在注释“∥********2********”之后添加适当的语句。
    (3)定义类priA2的构造函数,该构造函数有三个整型的参数m,n和k,在构造函数中请将m赋值给数据成员c,将n和k分别赋值给基类priA1构造函数的参数m和n。请在注释“∥********3********”之后添加适当的语句。
    (4)完成类priA2的成员函数show的定义,该函数调用基类成员函数,输出基类私有成员a和b及类priA2自身的数据成员c的值,上述三个值在输出时以空格隔开。请在注释“∥********4********”之后添加适当的语句。
    注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include
C1ass baseA
{
    int a;
public:
  ∥********1********
    int geta(){return a;)
};
class priAl:public baseA
{
    int b;
public:
∥********2********
    int getb(){return b;)
};
class priA2:public priAl
{
    int c;
public:
  ∥********3********
    void show()
    {
∥********4********
    }
};
void main()
{
    priA2 a(7,5,i 0);
    cout<    cout<    a.show();
}

选项

答案(1)添加语句:baseA(int m) { a=m;} (2)添加语句: priAl(int m,int n):baseA(n){b=m;} (3)添加语句:priA2(int m,int n,int k):priAl(n,k) (c=m;) (4) 添加语句: cout<
解析 程序当中定义厂类baseA、priAl和priA2,其中priA1类由baseA类公有派生,priA2类由priA1类公有派生。构造函数是类的一种特殊的成员函数,其函数名和类名一致。构造函数可以带参数也可以不带参数,带参数的构造函数根据构造函数内部赋值语句可知其参数形式。公有派生类可以访问基类的公有成员,因此priA2类可以调用类baseA的geta()函数和priAl类的getb()函数,通过调用这两个函数得到基类私有成员a和b。
转载请注明原文地址:https://kaotiyun.com/show/CTAp777K
0

最新回复(0)