使用VC6打开考生文件夹下的工程MyProj11。此工程包含一个源程序文件 MyMain11.cpp。程序中定义了3个类A、B和C,但类C的定义并不完整。 请按要求完成下列操作,将类的定义补充完成: ①类C是基类A和B公有派生来的。请在注释“/

admin2009-01-15  85

问题 使用VC6打开考生文件夹下的工程MyProj11。此工程包含一个源程序文件 MyMain11.cpp。程序中定义了3个类A、B和C,但类C的定义并不完整。
   请按要求完成下列操作,将类的定义补充完成:
   ①类C是基类A和B公有派生来的。请在注释“//* *1* *”之后添加适当的语句。
   ②完成构造函数C(int k)定义,采用初始化列表的方式使基类A私有成员a初始化为k-2,基类B的私有成员b初始化为k+2,类C的私有成员c初始化为k。请在注释“//* *2* *”之后添加适当的语句。
   ③完成类Derived的成员函数disp()的类体外的定义。函数disp()中要分别显式调用基类A、B的disp()函数,然后要输出私有成员c的值。请在注释“//* *3* *”之后添加适当的语句。
     注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
     源程序文件MyMain11.cpp清单如下;
        //MyMain11.cpp
        #include <iostream>
        using namespace std;
        class A
        {
        private:
           int a;
        public:
           A(int i) { a=i;}
           void disp()
           {
                cout<<a<<" , "
           }
        };
        class B
        {
        private:
          int b;
        public:
          B(int j){ b=j;}
          disp ( )
          {
             cout<<b<<", ";
          }
        };
        //* * *1* * *
        {
        private:
          int c;
        public:
        //* * *2* * *
          void disp();
        };
        void c::disp()
        {
          //* * *3* * *
        }
        int main ( )
        {
           C  obj(10);
           obj.disp();
           return 0;
        }

选项

答案

解析
转载请注明原文地址:https://kaotiyun.com/show/IOID777K
0

相关试题推荐
最新回复(0)