新标准C++程序设计教程习题及答案第12章.docx

上传人:b****8 文档编号:10365469 上传时间:2023-02-10 格式:DOCX 页数:9 大小:15.65KB
下载 相关 举报
新标准C++程序设计教程习题及答案第12章.docx_第1页
第1页 / 共9页
新标准C++程序设计教程习题及答案第12章.docx_第2页
第2页 / 共9页
新标准C++程序设计教程习题及答案第12章.docx_第3页
第3页 / 共9页
新标准C++程序设计教程习题及答案第12章.docx_第4页
第4页 / 共9页
新标准C++程序设计教程习题及答案第12章.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

新标准C++程序设计教程习题及答案第12章.docx

《新标准C++程序设计教程习题及答案第12章.docx》由会员分享,可在线阅读,更多相关《新标准C++程序设计教程习题及答案第12章.docx(9页珍藏版)》请在冰豆网上搜索。

新标准C++程序设计教程习题及答案第12章.docx

新标准C++程序设计教程习题及答案第12章

第12章

1.以下说法中正确的是()。

A.一个类一定会有无参构造函数

B.构造函数的返回值类型是void

C.一个类只能定义一个析构函数,但可以定义多个构造函数

D.一个类只能定义一个构造函数,但可以定义多个析构函数

答案:

C

2.对于强过new运算符牛成的对象()。

A.程程序结束时自动析构

B.执行delete操作时才能析构

C.在包含new语句的函数返回时自动析构

D.在执行delete操作时会析构,如果没有执行delete操作,则在程序结束时自动析构

答案:

D

3.如果某函数的返回值是个对象,则该函数被调用时,返回的对象()。

A.是通过复制构造函数初始化的

B.是通过无参构造函数初始化的

C.用哪个构造函数初始化取决于函数的return语句是怎么写的

D.不需要初始化

答案:

C

4.以下说法LE确的是()。

A.在静态成员函数中可以调用同类的其他任何成员函数

B.const成员函数不能作用于非const对象

C.在静态成员函数中不能使用this指针

D.静态成员变量每个对象有各自的一份

答案:

C

5以下关于this指针的说法中不正确的是()。

A.const成员函数内部不可以使用this指针

B.成员函数内的this指针,指向成员函数所作用的对象

C.在构造函数内部可以使用this指针

D.在析构函数内部可以使用this指针

答案:

A

6.请写出下面程序的输出结果。

classCSample{

intx;

public:

CSample(){cout<<”C1”<

CSample(intn){

x=n;

cout<<”C2,x=”<

}

};

intmain(){

CSamplearray1[2];

CSamplearray2[2]={6,8};

CSamplearray3[2]={12};

CSample*array4=newCsample[3];

Return0;

}

答案:

C1

C1

C2,x=6

C2,x=8;

C2,x=12

C1

C1

C1

C1

7.请写出下面程序的运行结果:

4,6

请填空:

#include

usingnamespacestd;

classSample{

public:

intv;

Sample(){}

Sample(intn):

v(n){};

Sample(constSample&x){v=2+x.v;}

};

Sample&PrintAndDouble(Sampleo)

{

cout<

o.v=2*o.v;

returno;

}

intmain()

{

Samplea(5);

Sampleb=a;

Samplec=PrintAndDouble(b);

cout<

cout<

//cout<

Sampled;

d=a;

cout<

return0;

}

答案:

9

20

5

8.下面程序的输出结果是。

#include

usingnamespacestd;

classA{

intval;

public:

A(intn){

val=n;

}

intGetVal(){

returnval;

}

};

classB:

publicA{

private:

intval;

public:

B(intn):

__________{

};

intGetVal(){

returnval;

}

};

intmain(){

Bb1

(2);

cout<

:

GetVal()<<"\n";

return0;

}

答案:

Val(4),A(6)

9.下面程序的输出结果是

0

5

请填空:

#include

usingnamespacestd;

classA{

public:

intval;

A(_______){

val=n;

}

______GetObj(){

return_________;

}

};

intmain(){

Aa;

cout<

a.GetObj()=5;

cout<

}

答案:

intn=0

A&

*this

10.下面程序的输出结果是:

10

请补充Sample类的成员函数,不能增加成员变量

#include

usingnamespacestd;

classSample{

public:

intv;

Sample(intn):

v(n){

};

______________________

Sample(Sample&obj){

this->v=2*obj.v;

};

};

intmain(){

Samplea(5);

Sampleb=a;

cout<

return0;

}

答案:

Sample(Sample&obj){

This->v=2*obj.v;

};

11.下面程序的输出结构是:

5,5

5,5

请填空:

#include

usingnamespacestd;

classBase{

public:

intk;

Base(intn):

k(n){

}

};

classBig{

public:

intv;

Baseb;

Big__________{

};

Big___________{

};

};

intmain(){

Biga1(5);

Biga2=a1;

cout<

cout<

return0;

}

答案:

(intn):

v(n),b(n)

(Big&x):

v(x.v),b(x.b.k)

12.完成附录“魔静世界大作业”中提到的第一阶段作业

(省略)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1