填空题

使用VC6打开考生文件夹下的工程test26_1,此工程包含一个源程序文件test26_1.cpp,但该程序运行有问题,请改正
函数中的错误,使该程序的输出结果为:
Values are: 1,2 and 3
源程序文件test26_1.cpp清单如下;
#include <iostream.h>
class CommonBase

public:
int x;
;
/*****************found*****************/
class DeriveCommonA::public CommonBase

public:
int y;
;
class DeriveCommonB:public CommonBase

public:
int z;
;
/*****************found*****************/
class Overlapping:public DeriveCommonA; public DeriveCommonB

public:
void Display()

cout<<"Values are: "<<DeriveCommonA::x<<", "<<y<<" and "<<z<<end1;

;
int main ( )

Overlapping ov;
/*****************found*****************/
ov.x=1;
ov.y=2;
ov.z=3;
ov.Display();
return 0;

【参考答案】


(1)错误:class DeriveCommonA::public CommonBase
正确......

(↓↓↓ 点击下方‘点击查看答案’看完整答案、解析 ↓↓↓)
热门 试题

问答题
使用VC6打开考生文件夹下的工程test26_3。此工程包含一个test26_3.cpp,其中定义了类queue,但该类的定义并不完整。请按要求完成下列操作,将程序补充完整。 (1)完成类queue的无参数的构造函数的定义,要求把数据成员bl和el都初始化为0,同时输出queue initialized。请在注释“ **1**”之后添加适当的语句。 (2)完成类queue的成员函数qput(int j)的定义,它的功能是把新的元素加入队列,过程是先依据bl的值判断数组是否已经满了,如果是就输出queue is full,否则bl自加一,并且把参数j的值存入bl指向的数组元素中,请在注释“ **2**”之后添加适当的语句。 (3)完成类queue的成员函数qget()的定义,它的功能是把队列开头的元素提取出队列,并返回该值,过程是先比较el和bl的值判断队列是否已空,如果是就输出queue is empty,否则el自加一,并且把el指向的数组元素返回,请在注释“ **3**”之后添加适当的语句。 程序输出结果如下: queue initialized queue initialized 33 11 44 22 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 源程序文件test26_3.cpp清单如下: #include<iostream.h> class queue int q[100]; int bl,el; public: queue( ); void qput(int j); int qget( ); ; queue::queue( ) **1** void queue::qput(int j) **2** cout<< queue is full n ; return; bl++; q[bl]=j; int queue::qget( ) **3** cout<< queue is empty n ; return 0; el++; return q[el]; void main( ) queue aa,bb; aa.qput(11); bb.qput(22); aa.qput(33); bb.qput(44); cout<<aa.qget()<< <<aa.qget()<< n ; cout<<bb.qget()<< <<bb.qget()<< n ;