CC++程序设计高起专练习题Word下载.docx

上传人:b****3 文档编号:13968798 上传时间:2022-10-16 格式:DOCX 页数:27 大小:510.16KB
下载 相关 举报
CC++程序设计高起专练习题Word下载.docx_第1页
第1页 / 共27页
CC++程序设计高起专练习题Word下载.docx_第2页
第2页 / 共27页
CC++程序设计高起专练习题Word下载.docx_第3页
第3页 / 共27页
CC++程序设计高起专练习题Word下载.docx_第4页
第4页 / 共27页
CC++程序设计高起专练习题Word下载.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

CC++程序设计高起专练习题Word下载.docx

《CC++程序设计高起专练习题Word下载.docx》由会员分享,可在线阅读,更多相关《CC++程序设计高起专练习题Word下载.docx(27页珍藏版)》请在冰豆网上搜索。

CC++程序设计高起专练习题Word下载.docx

B.int*p=newint[10];

D.int*p=newint[40](0))

C.int*p=newint;

11.下列关于虚基类的描述,错误的是(

A.设置虚基类的目的是为了消除二义性

B.虚基类的构造函数在非虚基类之后调用

C.若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用

D.若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数

12.已知:

print()函数是一个类的常成员函数,它无返回值,下列表示中,()是正确的。

A.voidprint()const;

B.constvoidprint();

C.voidconstprint();

D.voidprint(const);

13.在下面有关静态成员函数的描述中,正确的是()。

A.在静态成员函数中可以使用this指针

B.在建立对象前,就可以为静态数据成员赋值

C.静态成员函数在类外定义时,要用static前缀

D.静态成员函数只能在类外定义

14.在下列关键字中,用于说明类中公有成员的是()。

A.publicB.privateC.protectedD.friend

15.以下有关继承的叙述正确的是()。

A.构造函数和析构函数都能被继承

B.派生类是基类的组合

C.派生类对象除了能访问自己的成员以外,不能访问基类中的所有成员

D.基类的公有成员一定能被派生类的对象访问

16.下列各种高级语言中,不是面向对象的程序设计语言的是()。

A.C++B.JavaC.VBD.C

17.下列说法中正确的是()。

A.类定义中只能说明函数成员的函数头,不能定义函数体

B.类中的函数成员可以在类体中定义,也可以在类体之外定义

C.类中的函数成员在类体之外定义时必须要与类声明在同一文件中

D.在类体之外定义的函数成员不能操作该类的私有数据成员

18.静态数据成员的初始化必须在(A.类内B.类外

19.使用派生类的主要原因是(

A.提高代码的可重用性

C.加强类的封装性

20.编译时的多态性通过使用(

A.构造函数B.虚函数

21.下列关于运算符重载的描述中,A.可以改变运算符的目数C.可以改变运算符的结合性

C.构造函数内D.静态成员函数内)。

B.提高程序的运行效率

D.实现数据的隐藏)实现。

C.重载函数D.析构函数正确的是()。

B.可以改变运算符的优先级

D.可以改变运算符的功能

22.如有以下模板类定义:

Template<

classT>

classsum{Ta,b;

Public:

sum(Tx,Ty);

}

则在类体外定义构造函数正确的是(

A.template<

sum:

:

sum(Tx,Ty){a=x;

b=y;

typenameT>

C.template<

sum<

T>

D.sum<

26.

关于new运算符的下列描述中,()是错的。

31.C++利用()实现面向对象程序设计的封装性。

A.构造数据类型——类B.构造数据类型——枚举

32.在声明类时,下面的说法正确的是()。

A.可以在类的声明中给数据成员赋初值

B.数据成员的数据类型可以是register

C.private、public、protected可以按任意顺序出现

D.没有用private、public、protected定义的数据成员是公有成员

 

1.静态的成员函数没有隐含的

、判断题

this指针,所以它们只能访问静态的数据成员。

2.通过类对象可以访问类中所有的成员。

()

3.构造函数是可以被派生类继承的。

4.构造函数和析构函数都可以是虚函数。

5.只有类中全部函数都为纯虚函数时,该类才被称为抽象类。

6.对于同一个运算符来说,重载的运算符的优先级比未重载的运算符的优先级高。

7.一个类的友元一定是另一个类的成员函数。

8.C++中,对象保存在内存中,栈内存是自动分配和释放的,而堆内存需要用户自己

申请和释放。

三、简答题

1.什么是封装性请举例说明。

2.什么是函数重载和运算符重载为什么要使用重载

3.拷贝构造函数在哪几种情况下被调用

4.什么是类什么是对象对象与类的关系是什么

5.什么是面向对象程序设计

6.什么是继承性请举例说明。

7.结构struct和类class有什么异同

8.在定义拷贝构造函数时,为什么通常还要定义一个重载的赋值运算符

9.什么是消息消息具有什么性质

10.若程序员没有定义拷贝构造函数,则编译器自动生成一个缺省的拷贝构造函数,它可能会产生什么问题

四、程序分析题

1.指出下面程序中的1处错误,并说明原因。

#include<

>

classPoint

{

intX,Y;

public:

Point(){X=0;

Y=0;

}

Point(intx=0,inty=0){X=x;

Y=y;

voiddisplay(){cout<

<

X<

"

"

Y<

endl;

}};

voidmain()

Pointp;

();

答:

2.指出下面程序中的1处错误,并说明原因。

classCTest{public:

CTest(){x=20;

private:

intx;

friendvoidfriend_f(CTestfri);

};

voidfriend_f(CTestfri){=55;

CTestc1,c2;

(c2);

}答:

3.写出下面程序的运行结果#include<

classTest{private:

intnum;

Test(intn=0){num=n;

num++;

~Test(){cout<

”Destructorisactive,number=”<

num<

voidmain()

Testx[2];

cout<

”Exitingmain”<

4.写出下面程序的运行结果。

#include<

classTest{private:

staticintval;

inta;

staticintfunc();

staticvoidsfunc(Test&

r);

intTest:

val=20;

func()

{val--;

returnval;

}voidTest:

sfunc(Test&

r){=25;

cout<

Result3="

;

}voidmain()

{cout<

Resultl="

Test:

func()<

Testa;

Result2="

()<

Test:

sfunc(a);

5.指出下列程序中的1处错误,并说明为什么。

classStudent{

charname[10];

intage;

floataver;

voidprintStu();

Studentp1,p2,p3;

=30;

etint()<

"

<

array[1].getfloat()<

8.写出下面程序的运行结果

classA

inta;

A(intaa=0){a=aa;

a="

a<

classB

intb;

B(intbb=0){b=bb;

b="

b<

classC:

publicB

Aa;

C(){cout<

”Cdefaultconstructor”<

C(inti,intj):

a(i),B(j){cout<

”Cconstructor”<

Cc1,c2(5,6);

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

#include<

classA

staticintn;

intX;

A(intx=0){X=x;

n++;

~A(){n--;

staticintGetNum(){returnn;

}voidprint();

voidA:

print(){cout<

n="

n<

X="

X<

endl;

}intA:

n=0;

A*p=newA(12);

p->

print();

Aa(34);

deletep;

cout<

A:

GetNum()<

10.写出下面程序的运行结果。

{public:

intn;

classB:

virtualpublicA{};

classD:

publicB,publicC

intgetn(){returnB:

n;

Dd;

n=10;

n=20;

n<

五、完成程序题

1•请在横线处填上适当的字句,以使程序完整。

#inelude<

#include

classPoint

doubleX,Y;

①Line;

publ

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

当前位置:首页 > 医药卫生 > 临床医学

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

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