浙江大学城市学院C++程序设计A答案Word格式文档下载.docx
- 文档编号:15728404
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:18
- 大小:45.25KB
浙江大学城市学院C++程序设计A答案Word格式文档下载.docx
《浙江大学城市学院C++程序设计A答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《浙江大学城市学院C++程序设计A答案Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。
四
五
六
七
八
总分
得分
评卷人
一._判断题_(本大题共__10____题,每题__5____分,共__50_分。
判断1分,写出理由或正确写法4分)
1.(×
)有如图所示的类成员访问示意图,其含义是正确的。
理由是:
类中的公有成员是提供给外部访问的
2.(√)有如下类定义:
classarea
{
private:
intx;
inty;
public:
voidarea(inta,intb);
voidprint();
intareas();
};
在main函数中有语句:
area A(x,y),B;
在类及类对象定义中存在错误。
(1)构造函数不允许有返回值,
(2)还需要有一个默认值的构造函数
area(inta,intb);
area();
请把正确的写法写在右边的空白处。
3.(×
)下列程序编译不可能通过。
#include<
iostream.h>
voidmain()
intnum=100;
constint&
x=num;
cout<
<
x;
num=num+20;
num;
}
理由是程序没有错误,num是个变量,在程序中是可改变的。
如有问题,把正确的写法改在程序中。
4.(×
)阅读下列程序,程序中存在那些错误,并请改正。
classAAA
private:
inti;
AAA(intid);
~AAA();
voidshow();
};
voidAAA:
:
show()
cout<
i<
endl;
}
AAA:
AAA(intid)
i=id;
"
AAAobject"
initalized"
~AAA()
AAAobject"
destroy"
AAAx
(1),y
(2);
AAAobjectx.i"
;
x.show();
AAAobjecty.i"
y.show();
答:
构造函数与析构函数不能定义为私有的,程序改为:
5.(×
)阅读下列程序,程序输出的结果为:
dateconstructorcalledyear2012month5day15
dateconstructorcalledyear2013month7day1
今天是2012年5月15日
Pressanykeytocontinue
理由是析构函数不能重载去掉语句:
~date(inta){};
。
如有问题,把正确的写法改在程序中。
源程序为:
classdate
intyear,month,day;
date(inty,intm,intd);
date();
~date();
//析构函数不能重载
voidprint();
date:
date()//构造函数定义在类外的例子
year=2013;
month=07;
day=01;
cout<
"
dateconstructorcalledyear"
year<
month"
month<
day"
day<
endl;
date(inty,intm,intd)
year=y;
month=m;
day=d;
~date()//构造函数定义在类外的例子
cout<
voiddate:
print()
今天是"
年"
月"
日"
intmain()
dateDATE(2012,5,15),DATE1;
DATE.print();
return1;
6.(×
)下列定义了一个完整的类,可以编译通过。
理由是不能定义对象C,把对象C与调用成员函数删除。
dateA(2012,5,15),B(2013);
A.print();
B.print();
return0;
//date(inty=2012,intm=01,intd=01)
date(inty=2012,intm=01,intd=01)//构造函数定义在类外
dateconstructorcalled"
<
dateA(2012,5,15),B(2013),C();
C.print();
7.( ×
)下列程序编译能通过,程序执行的结果为1200。
理由是fun函数中不能用i,j
把fun改为:
doublefun(){returnx*y;
}并且程序执行结果为:
1800。
#include<
classAAAA
protected:
doublex,y;
AAAA(doublei,doublej){x=i;
y=j;
}
doublefun(){returni*j;
classBBBB:
publicAAAA
doublez;
BBBB(doublex,doubley,doubler):
AAAA(x,y)//fun函数中不能用i,j
{z=r;
doublefun(){returnx*z+10*y;
AAAA*p;
BBBBCBBBB(30,60,20);
p=&
CBBBB;
doublea=p->
fun();
ThefunoftheBBBBis"
a<
8.( ×
)下列程序编译能通过。
理由是B类构造函数出错,它是容器类的对象,
B(inti,intj,intk):
A(i,j),aa(j,k)//构造函数中应该用容器类的对象
{
b=k;
}
。
classA
protected:
inta,b;
public:
A(inti,intj)
{a=i;
b=j;
voidPrint()
{
cout<
"
b<
}
intGeta(){returna;
classB:
publicA
intb;
Aaa;
A(i,j),A(j,k)//构造函数中应该用容器类的对象
voidPrint(){};
Bbb(1,2,3);
9.( )有下列基类与派生类定义的程序段:
inta;
A(intx){a=x;
voidvirtualshow(){cout<
AAAAAAAAAAAAAAAA"
classAB:
virtualpublicA
intab;
AB(intx,inty):
A(x)
{ab=y;
classAC:
intac;
AC(intx,inty):
{ac=y;
classABC:
publicAB,publicAC
intabc;
ABC(intx,inty,intz):
AB(x,y),AC(x,y) //A(z)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 浙江大学 城市 学院 C+ 程序设计 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)