c++面向对象程序设计试题和答案经典题目.docx

上传人:b****7 文档编号:11423849 上传时间:2023-03-01 格式:DOCX 页数:14 大小:222.97KB
下载 相关 举报
c++面向对象程序设计试题和答案经典题目.docx_第1页
第1页 / 共14页
c++面向对象程序设计试题和答案经典题目.docx_第2页
第2页 / 共14页
c++面向对象程序设计试题和答案经典题目.docx_第3页
第3页 / 共14页
c++面向对象程序设计试题和答案经典题目.docx_第4页
第4页 / 共14页
c++面向对象程序设计试题和答案经典题目.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

c++面向对象程序设计试题和答案经典题目.docx

《c++面向对象程序设计试题和答案经典题目.docx》由会员分享,可在线阅读,更多相关《c++面向对象程序设计试题和答案经典题目.docx(14页珍藏版)》请在冰豆网上搜索。

c++面向对象程序设计试题和答案经典题目.docx

c++面向对象程序设计试题和答案经典题目

填空题(每空1分,共14分)

1、观看以下程序:

classpoint{

public:

voidshow(){cout<<”point”<

};

voidmain()

{

pointp1;

point*p;

p=&p1;

p1.show()//通过对象p1访问show函数

p.show()//通过指针p访问show函数

}

2、在C+啖中可以包含—公共—、—保护和—私有—三种具有不同访问控制权的成员。

3、定义类时,在类头中将使用关键字__class来表示类定义的开始。

4、如果一个类中至少有一个纯虚函数,则该类称为抽象类。

5、C++类的组成包括数据成员和成员函数,友元—是—(是、不是)

该类的成员函数。

6、友员函数是用关键字friend修饰的非成员函数。

7、若有:

inti;

int&j=i;

i=10;

j=i+1;

贝Hi=11,j=___11。

8、new的功能是分配内存空间,delete的功能是释放内

存空间。

十五、选择题(每小题1.5分,共30分)

1、下列特性中不是面向对象程序设计语言所特有的是(D)。

(A)数据封装(B)继承(C)多态性(D)模板

2、(B)是给变量取一个别名,它引入了变量的同意词。

{voidfun()

cout<<"Derived:

:

fun"<

#includeclassBASE{

charc;

public:

BASE(charn):

c(n){}virtual~BASE(){cout<

classDERIVED:

publicBASE{

charc;

public:

DERIVED(charn):

BASE(n+1),c(n){}~DERIVED(){cout<

};

intmain()

{DERIVEDa('X');

return0;

}

A.该类的每个对象中都有一个静态数据成员

B.对象创建时产生

C.在类外进行初始化

D.既可以在类外初始化,也可以在类内初始化

20、C+冲声明常量的关键字是()。

A.constB.externC.publicD.enum

-六、改错题(每处2分,共6分)

1、使用VC6打开考生文件夹下的工程proj1,此工程包含一个源程序文件main.cpp,但

该程序运行有问题,请改正main函数中的错误,使程序的输出结果为:

member=0

member=5

mcnbci-10

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

扌ilichl〔b

cki朋MyClass

{

piih1ic:

MyClass(inti){member=i;}

voidSetMember(intm){member=m;}

intGetMember()const{returnmenber;}

voidprint()cont{cout<<"member="<

priviilc:

intmember;

I;

Vui.xlmain()

{

MyClassobjl;//更正_objl.print();

MyClassobj2(3);

更正

obj1.member=5;//更正MyClass.SetMember(IO);//obj1.print();

obj2.print();

十七、写出下列程序的执行结果(每小题5分,共20分)

1、

#include

classSample

{intn;

public:

Sample(inti){n=i;}

friendintadd(Sample&s1,Sample&s2);

};

intadd(Sample&s1,Sample&s2)

{

returns1.n+s2.n;

}

voidmain()

{

Samples1(10),s2(20);

cout<

}

执行结果是:

#include

intadd(intx,inty)

{

returnx+y+1;

}

doubleadd(doublex,doubley)

{

returnx+y-1;

}

voidmain()

{

inta=2,b=4;

doublec=2.6,d=7.4;cout<

}

执行结果是:

3、

#include

classA

{

public:

intn;

};

classB:

virtualpublicA{};

classC:

virtualpublicA{};

classD:

publicB,publicC

{

intgetn(){returnB:

:

n;}

};

voidmain()

{

Dd;

d.B:

:

n=10;

d.C:

:

n=20;

cout<

:

n<<","<

:

n<

}

执行结果是:

4、

#inelude

classmyclass

{

inta,b;

staticints;

public:

myclass(intx,inty)

{a=x;b=y;s++;}

voidprint()

{cout<

};

intmyclass:

:

s=0;

voidmain()

{

myclassm1(1,2),m2(4,5),m3(6,7);

m1.print();

m2.print();

m3.print();

}

执行结果是:

十八、编程题(每题10分、共30分)

1、测试一个名为rectangle的矩形类,其属性为矩形的左下角与右上角两个点的坐标,能计算矩形的面积。

(10分)

2、定义一boat与car两个类,二者都有weight属性,定义二者的一个友元函数

totalweight(),计算二者的重量和。

(10分)

3、设计一个汽车类vehicle,包含的数据成员有车轮个数wheels和车重weight。

小车

类car是它的派生类,其中包含载人数passenger_load。

每个类都有相关数据的输

出方法。

在主程序中定义一个car类对象,对其车轮个数、车重、载人数进行设置

并显示。

(10分)

一、填空题(每空1分,共14分)

(1)p1.show();p->show()

(2)公有、私有、保护(3)class(4)抽象类

(5)成员函数、不是(6)friend(7)11、11(8)动态申请内存空间、释放

由new申请的空间

三、改错题(每错2分,共6分)

obj2.SetMember(10);

MyClassobj1(0);obj1.SetMember(5);

四、写出下列程序的执行结果(每小题5分,共20分)

(1)30(5分)

(2)79(每个2.5分)

(3)2020(每个2.5分)

(4)

3(2分)

3(2分)

3(1分)

五、编程题(每题10分、共30分)

#include

#inelude

classrectangle〃(2分)

{

private:

intx1,y1,x2,y2;//(2分)

public:

rectangle(intxx1,intyy1,intxx2,intyy2)〃(1分){

x仁xx1;y仁yy1;x2=xx2;y2=yy2;

}

intgetarea()〃(2分)

{

returnabs((x2_x1)*(y1_y2));

}

};

voidmain()

{

rectanglerect1(3,7,8,5);(2分)

cout<

}

2、(10分)

#include

classcar;(1分)classboat{private:

intweight;〃(1分)

public:

boat(intw):

weight(w){}〃(1分)

friendinttotalweight(boatb1,carc1);〃(2分)

};

classcar{/(1分)

private:

intweight;(1分)

public:

car(intw):

weight(w){};

friendinttotalweight(boatb1,carc1);(1分)};

inttotalweight(boatb1,carc1)〃(1分)

{

returnbl.weight+cl.weight;

}

voidmain()

{

carc1(1000);

boatb1(2000);

cout<

}

3、(10分)

#include

classvehicle//定义汽车类(3分)

{

protected:

intwheels;//车轮数

floatweight;//重量

public:

vehicle(intwheels,floatweight);

intget_wheels();

floatget_weight();

floatwheel_load();

voidshow();

};

classcar:

publicvehicle//定义小车类(3分)

{

intpassenger__load;//载人数public:

car(intwheels,floatweight,intpassengers=4);

intget_passengers();

voidshow();

};

vehicle:

:

vehicle(intwheels1,floatweight1)〃(1分)

{

wheels=wheels1;

weight=weight1;

}

intvehicle:

:

get_wheels()

{

returnwheels;

}

floatvehicle:

:

get_weight()

{

returnweight;

}

voidvehicle:

:

show()(1分)

{

cout<<"车轮:

"<

cout<<"重量:

"<

}

car:

:

car(intwheels,floatweight,intpassengers):

vehicle(wheels,weight)

{

passenger_load=passengers;

}

intcar:

:

get_passengers()

{

returnpassenger_load;

}

voidcar:

:

show()

{

cout<<"车型:

小车"<

vehicle:

:

show();

cout<<"载人:

"<

}

voidmain()

{

carcar1(4,2000,5);(1分)

cout<<"输出结果"<

car1.show();(1分)

}

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

当前位置:首页 > PPT模板 > 卡通动漫

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

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