问答题

使用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; }

【参考答案】

①clas C:public B,public A ②C(int k):A(k-2),B(k+2),c(k){} ③A:......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)