填空题

使用VC6打开考生文件夹下的工程test25_1,此工程包含一个源程序文件test25_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:
privatel from derived1:30
privatel from derived2:30
源程序文件test25_1.cpp清单如下:
/***************found******************/
include<iostream.h>
class base

protected:
int privatel;
public:
base(int p)privatel=p;
;
/****************found*******************/
class derived1:public base

public:
derivedl(int p1):base(p1);
int get_private()return private1;

class derived2:virtua1 public base

public:
derived2(int p2):base(p2);
int get_private()return private1;
;
class derived12:public derived1,public derived2

public:
/****************found*******************/
derived12(int p1,int p2,int pb):derived1(p1), base(pb), derived2(p2);
;
void main()

derived12 d(10,20,30);
cout<<"privatel from derived1:"<<d.derived1::get_private();
cout<<"\nprivatel from derived2:"<<d.derived2::get_private();
cout<<endl;

【参考答案】


(A)错误:include<iostream.h>
正确:#include<iostream.......

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

问答题
使用VC6打开考生文件夹下的工程test25_3,此工程包含一个源程序文件test25_3.cpp,其中定义了用于表示堆的类Set,但它的定义并不完整。请按要求完成下列操作,将程序补充完整。 (1)完成成员函数int IsMemberOf(int n)的定义,该函数检查参数n是否在类的数据成员数组elems中,如果在返回1,反之返回0。请在注释“ **1**”之后添加适当的语句。 (2)完成成员函数int Add(int n)的定义,如果参数n包含在类的数据成员数组elems中则返回1如果数组超界则返回0,如果都不是,则将参数n插入到elems中,下标大小为类的数据成员PC,之后PC自加一。请在注释“ **2**”之后添加适当的语句。 (3)完成拷贝初始化构造函数Set(Set &s)的定义,请在注释“ **3**”之后添加适当的语句。输出结果如下: 1 1,2,3,4,5,6,7,8 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 源程序文件test25_3.cpp清单如下: #include<iostream.h> class Set public: Set() PC=O; Set(Set &s); void Empty() PC=O; int IsEmpty() return PC==O; int IsMemberOf(int n); int Add(int n); void Print(); private: int elems[100]; int PC; ; int Set::IsMemberOf(int n) **1** if(elems[i]==n) return 1; return O; int Set::Add(int n) **2** return 1; else if(PC>=100) return O; else elems[PC++]=n; return 1; Set::Set(Set &s) **3** for(int i=O; i<PC; i++) elems[i]=s.elems[i]; void Set::Print() cout<< ; for(int i=O; i<PC-1; i++) cout<<elems[i]<< , ; if(PC>O) cout<<elems[PC-1]; cout<< <<endl; void main() Set A; cout<<A.IsEmpty()<<endl; A.Print(); Set B; for(int i=l; i<=8; i++) B.Add(i); B.Print();