浙江大学城市学院C++程序设计A答案.docx

上传人:b****3 文档编号:2817324 上传时间:2022-11-15 格式:DOCX 页数:18 大小:45.25KB
下载 相关 举报
浙江大学城市学院C++程序设计A答案.docx_第1页
第1页 / 共18页
浙江大学城市学院C++程序设计A答案.docx_第2页
第2页 / 共18页
浙江大学城市学院C++程序设计A答案.docx_第3页
第3页 / 共18页
浙江大学城市学院C++程序设计A答案.docx_第4页
第4页 / 共18页
浙江大学城市学院C++程序设计A答案.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

浙江大学城市学院C++程序设计A答案.docx

《浙江大学城市学院C++程序设计A答案.docx》由会员分享,可在线阅读,更多相关《浙江大学城市学院C++程序设计A答案.docx(18页珍藏版)》请在冰豆网上搜索。

浙江大学城市学院C++程序设计A答案.docx

浙江大学城市学院C++程序设计A答案

年级:

_____________专业:

_____________________班级:

_________________学号:

_______________姓名:

__________________

…………………………………………………………..装………………….订…………………..线………………………………………………………

诚信应考考出水平考出风格

浙江大学城市学院

2012—2013学年第二学期期末考试试卷A

《C++程序设计》

开课单位:

信电分院;考试形式:

 开 卷;考试时间:

_2013__年_07__月_1_日;

所需时间:

分钟

题序

总分

得分

评卷人

得分

 

一._判断题_(本大题共__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

voidmain()

{

intnum=100;

constint&x=num;

cout<

num=num+20;

cout<

cout<

 }

 理由是程序没有错误,num是个变量,在程序中是可改变的。

  如有问题,把正确的写法改在程序中。

4.(×)阅读下列程序,程序中存在那些错误,并请改正。

#include

classAAA

{

private:

inti;

AAA(intid);

~AAA();

public:

voidshow();

};

voidAAA:

:

show()

{

cout<

}

AAA:

:

AAA(intid)

{

i=id;

cout<<"AAAobject"<

}

AAA:

:

~AAA()

{

cout<<"AAAobject"<

}

voidmain()

{

AAAx

(1),y

(2);

cout<<"AAAobjectx.i";

x.show();

cout<<"AAAobjecty.i";

y.show();

}

答:

构造函数与析构函数不能定义为私有的,程序改为:

classAAA

{

private:

inti;

public:

AAA(intid);

~AAA();

voidshow();

};

 

5.(×)阅读下列程序,程序输出的结果为:

dateconstructorcalledyear2012month5day15

dateconstructorcalledyear2013month7day1

今天是2012年5月15日

dateconstructorcalledyear2013month7day1

dateconstructorcalledyear2012month5day15

Pressanykeytocontinue

 理由是析构函数不能重载去掉语句:

~date(inta){};。

如有问题,把正确的写法改在程序中。

源程序为:

#include

classdate

{

private:

intyear,month,day;

public:

date(inty,intm,intd);

date();

~date();

~date(inta){};//析构函数不能重载

voidprint();

};

date:

:

date()//构造函数定义在类外的例子

{

year=2013;

month=07;

day=01;

cout<<"dateconstructorcalledyear"<

}

date:

:

date(inty,intm,intd)

{

year=y;

month=m;

day=d;

cout<<"dateconstructorcalledyear"<

}

date:

:

~date()//构造函数定义在类外的例子

{

cout<<"dateconstructorcalledyear"<

}

voiddate:

:

print()

{

cout<<"今天是"<

}

intmain()

{

dateDATE(2012,5,15),DATE1;

DATE.print();

return1;

}

6.(×)下列定义了一个完整的类,可以编译通过。

理由是不能定义对象C,把对象C与调用成员函数删除。

如有问题,把正确的写法改在程序中。

intmain()

{

 dateA(2012,5,15),B(2013);

  A.print();

B.print();

  return0;

}

#include

classdate

{

private:

intyear,month,day;

public:

date(inty,intm,intd);//date(inty=2012,intm=01,intd=01)

voidprint();

};

date:

:

date(inty=2012,intm=01,intd=01)//构造函数定义在类外

{

year=y;

month=m;

day=d;

cout<<"dateconstructorcalled"<

}

voiddate:

:

print()

{

cout<<"今天是"<

}

intmain()

{

 dateA(2012,5,15),B(2013),C();

  A.print();

B.print();

C.print();

  return0;

}

7.( × )下列程序编译能通过,程序执行的结果为1200。

理由是fun函数中不能用i,j

把fun改为:

doublefun(){returnx*y;}并且程序执行结果为:

1800。

如有问题,把正确的写法改在程序中。

#include

classAAAA

{

protected:

doublex,y;

public:

AAAA(doublei,doublej){x=i;y=j;}

doublefun(){returni*j;}

};

classBBBB:

publicAAAA

{

private:

doublez;

public:

BBBB(doublex,doubley,doubler):

AAAA(x,y)//fun函数中不能用i,j

{z=r;}

doublefun(){returnx*z+10*y;}

};

voidmain()

{

AAAA*p;

BBBBCBBBB(30,60,20);

p=&CBBBB;

doublea=p->fun();

cout<<"ThefunoftheBBBBis"<

}

8.( × )下列程序编译能通过。

理由是B类构造函数出错,它是容器类的对象,

B(inti,intj,intk):

A(i,j),aa(j,k)//构造函数中应该用容器类的对象

{

b=k;

}

如有问题,把正确的写法改在程序中。

#include

classA

{

protected:

inta,b;

public:

A(inti,intj)

{a=i;b=j;}

voidPrint()

{

cout<

}

intGeta(){returna;}

};

classB:

publicA

{

private:

intb;

Aaa;

public:

B(inti,intj,intk):

A(i,j),A(j,k)//构造函数中应该用容器类的对象

{

b=k;

}

voidPrint(){};

};

 

voidmain()

{

Bbb(1,2,3);

}

9.(  )有下列基类与派生类定义的程序段:

#include

classA

{

protected:

inta;

public:

A(intx){a=x;}

voidvirtualshow(){cout<<"AAAAAAAAAAAAAAAA"<

};

classAB:

virtualpublicA

{

protected:

intab;

public:

AB(intx,inty):

A(x)

{ab=y;}

};

classAC:

virtualpublicA

{

protected:

intac;

public:

AC(intx,inty):

A(x)

{ac=y;}

};

classABC:

publicAB,publicAC

{

protected:

intabc;

public:

ABC(intx,inty,intz):

AB(x,y),AC(x,y)         //A(z)

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

当前位置:首页 > 经管营销 > 经济市场

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

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