填空题

使用VC6打开考生文件夹下的工程test10_1,此工程包含一个源程序文件test10_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果为;
class Base
class D1
class D2
class D3
fin Base
源程序文件test10_1.cpp清单如下:
#include<iostream.h>
class Base

public:
Base()cout<<"class Base"<<endl;
void f()cout<<"f in Base"<<endl;
;
class D1:virtual public Base

public:
D1()cout<<"class D1"<<endl;
void f()cout<<"f in D1"<<endl;
;
/*********found**********/
class D2:public Base

public:
D2()cout<<"class D2"<<endl;

/**********found**********/
class D3::public D1,public D2

public:
D3()cout<<"class D3"<<endl;
;
void main()

D3 d;
/**********found************/
d.f();

【参考答案】


(A)错误:class DB:public Base
正确:class DB:virtual ......

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

问答题
使用VC6打开考生文件夹下的工程test10_3,此工程包含一个源程序文件test10_3.cpp,其中定义了用于表示雇员信息的CEmployee类与表示公司信息的Company类,但这两个类的定义并不完整。请按要求完成下列操作。 (1)定义Cemployee类的私有数据成员name(大小为50的字符数组)和pay(double型数据),分别用于记录雇员姓名和月薪。请在注释“ **1**”之后添加适当的语句。 (2)完成Company类默认构造函数的定义,该构造函数将n值赋值给私有成员nam,并完成指针emp所指的n个 Cemployee对象空间的申请,请在注释“ **2**”之后添加适当的语句。 (3)完成Company类成员函数void Company::add(int code,charname[50],doublepay)的定义,该函数将某一雇员的编号 code、姓名name及月薪pay输入到公司信息中。请在注释“ **3**”之后添加适当的语句。 (4)完成Company类成员函数void Company::print()的定义,使其以“_is paid_RMB for oue month”的格式输出公司内所有员工的月薪信息。请在注释“ **4**”之后添加适当的语句。 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 源程序文件test10_3.cpp清单如下: #include<iostream.h> #include<string.h> class CEmployee public: void putname(char n[50])strcpy(name,n);) void getname(char n[501)strcpy(n,name);) void putpay(double d)pay=d;) double getpay()return pay;) private: **1** ; class Company private: CEmployee *emp; int num; public: Company(int n); void add(int code,Char name[50],double pay); void print(); Company::Company(int n) **2** void Company::add(int code,Char name[50],double pay) **3** void Company::print() **4** for(int i=0;i<num;i++) (emp+i)->getname(C); money=(emp+i)->getpay(); cout<<C<< is paid <<money<< RMB for one month <<endl; void main() Company com(2); com.add(0, Jack ,200); com.add(1, Lee ,300); com.print();