题目内容 (请给出正确答案)
[主观题]

下列程序时类D代码段出现编译错误,原因是【 】。 include<iostream. h> class A { public:A(char c)

下列程序时类D代码段出现编译错误,原因是【 】。

include<iostream. h>

class A

{

public:

A(char c){cout<<"A's constructor."<<c<<endl;}

~A(){cout<<"A's destructor."<<endl;}

};

class B: virtual public A

{

public:

B(char cb,char cd):A(cb) {cout<<"B's constructor."<<cd<<endl;}

~B(){cout<<"B's destructor."<<endl;}

private:

char b;

};

class C:virtual public A

{

public:

C(char cc, char cd):A(cc)

{cout<<"C's constructor. "<<cd<<endl;}

~C(){cout<<"C's destructor."<<endl;}

};

class D:public B,public C

{

public:

D(char cd,char ce,char cf, char cg, char ch,char ci)

:C(cf,cg),B(cd,ce),A(cd),aa(ch)

{cout<<"D's constructor."<<ci<<endl;}

~D() {cout<<"D's destructor."<<endl;}

private:

A aa;

};

void main()

{

D ohj('a','b','c','d','e','f')

}

查看答案
如搜索结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能会需要:
您的账号:
发送账号密码至手机
发送
更多“下列程序时类D代码段出现编译错误,原因是【 】。 inclu…”相关的问题

第1题

虚基类是含有【 】函数的类。

点击查看答案

第2题

C++源程序中,只有【 】个主函数。

点击查看答案

第3题

如果使用数组名称为函数参数,形实结合时,传递的是______。

点击查看答案

第4题

数据的逻辑结构是从逻辑关系上描述数据,它与数据的【 】结构无关。

点击查看答案

第5题

派生类对基类的继承有三种方式:______、______,保护继承。

点击查看答案

第6题

下列程序编译错误,因为add函数返回值是一个引用,故对return后返回值的要求是【 】。 include<iostre

下列程序编译错误,因为add函数返回值是一个引用,故对return后返回值的要求是【 】。

include<iostream. h>

int& add(int x, int y)

{

return x+y;

}

void main( )

int i=3,j=19;

cout<<(add(i,j)+ =20)<<end1;

}

点击查看答案

第7题

使用VC6打开考生文件夹下的工程MyProj13。此工程包含一个源程序文件MyMain12.cpp。程序中定义了两

个类Base和Derived,但类的定义并不完整。

请按要求完成下列操作,将类的定义补充完成:

①定义类shapes的保护成员x和y,它们都是整型变量。请在注释“//* *1* *”之后添加适当的语句。

②完成构造函数shapes(int d,int w)定义,使类shapes的保护成员x、y分别初始化为d、w,并分别具有默认值0、0。请在注释“//* *2* *”之后添加适当的语句。

③完成类shapes的成员函数setvalue(int d,int w)的定义,shapes类的数据成员x和y分别被设置成d和w。请在注释“//* *3* *”之后添加适当的语句。

④将类shapes的成员函数void disp()设置成纯虚函数。请在注释“//* *4* *”之后添加适当的语句。

注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。

源程序文件MyMain13.cpp清单如下:

//MyMain13.cpp

include<iostream>

using namespace std;

class shapes

{

//* * *1* * *

public:

//* * *2* * *

void setvalue(int d,int w)

{

//* * *3* * *

}

//* * * 4 * * *

};

class square : public Shapes

{

public:

void disp()

{

cout<<x*y<<end1;

}

};

int main()

{

shapes*ptr;

square s1;

ptr=&s1;

ptr->setvalue(10,5);

ptr->disp();

return 0;

}

点击查看答案

第8题

具有相同函数名不同参数表的函数称为【】。

具有相同函数名不同参数表的函数称为【 】。

点击查看答案

第9题

使用VC6打开考生文件夹下的工程test13_3。此工程包含一个test13_.cpp,其中定义了类Vector,但类的

定义并不完整。请按要求完成下列操作,将程序补充完整。

(1)完成构造函数的定义,把数据成员size初始化为参数s的值,数据成员buffer指向动态申请的int型size大小的空间。请在注释“//**1**”之后添加适当的语句。

(2)完成拷贝构造函数的定义,注意解决多次删除的问题。请在注释“//**2**”之后添加适当的语句。

(3)完成成员函数elem的定义,该函数返回buffer的第ndx个元素的值,注意如果ndx超界,请输出“error in index”。请在注释“//**3**”之后添加适当的语句。

(4)完成析构函数的定义,要求先将字符d打印在屏幕上,再释放buffer指向的空间。请在注释“//**4**”之后添加适当的语句。

输出结果如下:

1234567891012345678910dd

注意:除在指定的位置添加语句外,请不要改动程序中的其他语句。

源程序文件test13_3清单如下:

include<iostream.h>

include<stdlib.h>

class Vector

{

public:

Vector(int s=100);

Vector(Vector &v);

int &elem(int ndx);

void display();

void set();

~Vector();

protected:

int size;

int *buffer;

};

Vector::Vector(int s)

{

// ** 1 **

}

Vector::Vector(Vector &v)

{

// ** 2 **

for(int i=0; i<size; i++)

{

*(buffer+i)=*(v.buffer+i);

}

}

int &Vector::elem(int ndx)

{

// ** 3 **

{

cout<<"error in index"<<endl;

exit(1);

}

return buffer[ndx];

}

void Vector::display()

{

for(int j=0;j<size;j++)

cout<<elem(i)<<endl;

}

void Vector::set()

{

for(int j=0;i<size;j++)

elem(j)=j+1;

}

Vector::~Vector()

{

// ** 4 **

}

void main()

{

Vector a(10);

Vector b(a);

a. set();

b. set();

a. display();

b. display();

}

点击查看答案

第10题

使用VC6打开考生文件夹下的工程test14_1,此工程包含一个源程序文件test14_1.cpp,但该程序运行有

问题,请改正程序中的错误,使该程序的输出结果如下:

member1=5member2=5

member1=7member2=9

源程序文件test14_1.cpp清单如下:

include<iostream.h>

class My Class

{

/************** found *****************

friend void setMember(MyClass myObj,char meml)

{

myObj.member1=mem1;

myObj.member2=mem1;

cout<<"member1="<<myObi.member1<<" member2="<<myObj.member2<<endl;

}

/************** found ***************/

void setMember(MyClass& myObj,char mem1,char mem2)

{

myObj.member1=mem1;

myObj.member2=mem2;

cout<<"member1:"<<myObj.member1<<"member2="<<myObj.member2<<endl;

}

private:

char member1;

char member2;

};

void main()

{

MyClass theObj;

/************** found ****************/

theObj.setMember(theObj,'5');

theObj.setMember(theObj,'7','9');

}

点击查看答案
热门考试 全部 >
相关试卷 全部 >
账号:
你好,尊敬的上学吧用户
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
谢谢您的反馈

您认为本题答案有误,我们将认真、仔细核查,
如果您知道正确答案,欢迎您来纠错

警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

微信搜一搜
上学吧
点击打开微信
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
微信搜一搜
上学吧
点击打开微信