ImageVerifierCode 换一换
格式:DOCX , 页数:103 ,大小:56.65KB ,
资源ID:11156155      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11156155.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++面向对象程序设计试题集.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++面向对象程序设计试题集.docx

1、C+面向对象程序设计试题集C+面向对象程序设计试题集 一、 填空题(每空2分,共20分)1. 设a、b、c都是int型变量,则a=(b=4)+(c=2)后,a值为_ _,b值为 。2. 在派生类的成员中有公有成员、 、 、 四类成员。3. 类Sample的构造函数将形参data赋值给数据成员data。请将类定义补充完整。class Samplepublic:Sample(int data=0);Private:int data;Sample:Sample(int data) 4. 面向对象程序设计的 机制提供了重复利用程序资源的一种途径。5. 继承发生在利用现有类派生新类时,其中现有类称为 ,

2、或父类;派生的新类称为 ,或 。6. 若表达式(x+(y-z)*(m/n)+3中的变量均为double型,则表达式值的类型为 。7. 已知数组a 中的元素个数为n,下列语句的作用是将下标为i 的元素移动到下标为i1 的单元,其中1in。例如,当n=4,a 中原有数据为1,2,3,4 时,则移动后a中元素为2,3,4,4。请将语句补充完整:for(int i=0;in-1;i+) ai= 。8. 类是对具有共同属性和行为的一类事物的抽象描述,共同属性被描述为类中的 ,共同行为被描述为类中的 。9. 类Sample的构造函数将形参data赋值给数据成员data。请将类定义补充完整。class Sa

3、mplepublic:Sample(int data=0);Private:int data; ;Sample:Sample(int data) 10. 实现运行时多态,要使用 函数。11. 设A为test类的对象且赋有初值,则语句test B(A); 表示 。12. 在MyClass 类的定义中,对赋值运算符=进行重载。请将画线处缺失的部分补充完整。 MyClass:operator=(const MyClass rhs)if(this=&rhs) return *this;value=rhs. value;return *this; 13. C+语言中的每条基本语句以_作为结束符,每条复合

4、语句以_作为结束符。14. 若p指针指向字符串“ABCDEFGHIJKL”,则语句cout20; i-=2) couti20; i-=2) couti,;运行时循环体的执行次数是 46. 类中构造函数有 个,析构函数有 个。47. 有如下类定义:class Samplepublic: Sample(); Sample();private:static int date;将静态数据成员data初始化为0的语句是 。48. 假定p所指对象的值为25,p+1所指对象的值为46,则执行“(*p)+;”语句后,p所指对象的值为 。49. 若在类的定义体中只给出了一个成员函数的原型,则在类外给出完整定义时

5、,其函数名前必须加上类名和两个_分隔符。50. 若需要把一个函数“void F( );”定义为一个类AB的友元函数,则应在类AB的定义中加入一条语句:。51. 若要把类外定义的成员函数规定为内联函数,则必须把_关键字放到函数原型或函数头的前面。52. 为了避免在调用成员函数时修改对象中的任何数据成员,则应在定义该成员函数时,在函数头的后面加上_关键字。53. 程序段i=5;j=0;j=+i+j;输出结果为j= 。54. 类定义中,既包含数据成员,也包含_成员。55. 假定AB为一个类,则执行“AB a10;”语句时,系统自动调用该类的构造函数的次数为 ,其构造函数名是 。56. 假定一个类对象

6、数组为AN,当离开它的作用域时,系统自动调用该类析构函数的次数为_。57. 已知数组a 中的元素个数为n,下列语句的作用是将下标为i 的元素移动到下标为i1 的单元,其中1in。例如,当n=4,a 中原有数据为1,2,3,4 时,则移动后a中元素为2,3,4,4。请将语句补充完整:for(int i=0;i20; i-=2) couti”Hello wordn” B.cin” Hello wordn”C. cout” Hello wordn” D.ciny); Bif(x=y)&(x!=0) x+=y;Cif(x!=y)cinx;else ciny;Dif(xy) x+;y+;int x=-1

7、;do x=x*x;while(!x);下列说法正确的是( )。A是死循环 B循环执行两次C循环执行一次 D有语法错误下面函数( )的表示方法说明它使用对象的引用作为参数。A. test(pt *p) B.test(pt p) C.test(pt &p) D.test(const P)下面叙述不正确的是( )。A基类的保护成员在派生类中仍然是保护的B基类的保护成员在公有派生类中仍然是保护的C基类的保护成员在私有派生类中是私有的D对基类成员的访问必须是无两义性下列运算符中,( )运算符在C+中不能重载。A. ?: B. + C. - D.=在C+中,打开一个文件就是将这个文件与一个( )建立关联

8、;关闭一个文件就是取消这种关联。A. 流 B. 类 C. 结构 D. 对象对while、dowhile循环结构,下面说法正确的是( )。 A只是表达形式不同Bdowhile结构中的语句至少执行一次Cwhile结构中的语句至少执行一次D条件成立时,它们有可能一次也不执行关于函数的调用下面不正确的是( )。A 由于程序总是从主函数开始,所以函数的调用总是在主函数和其他函数之间进行B 函数的调用可以在任意函数之间进行,只要有需要C 一个函数可以自己调用自己D 函数返回时可以不必带返回值,这时函数在定义时其类型应用void表示关于函数的声明和定义正确的是( )。A 函数的声明是必须的,只有这样才能保证

9、编译系统对调用表达式和函数之间的参数进行检测,以确保参数的传递正确B 函数的定义和声明可以合二为一,可以只有函数定义即可C 函数在声明时,其参数标识符可省略,但参数的类型、个数与顺序不能省略D 函数的存储类型为外部型,所以可以在其他函数中被调用,它在定义时象其他外部变量一样,可以在其他函数内定义用于类中虚成员函数说明的关键字是( )。A.public B.virtual C. protected D. private有如下程序段:int i=5;while (int i=0) cout*; i-;运行时输出“*”的个数是 ( )A. 0 B.1 C. 5 D. 无穷运算符重载时不需要保持的性质

10、是( )A. 操作数个数 B.操作数类型 C. 优先级 D.结合性有如下类定义和变量定义:class A public: A() data=0; A() int GetData() const return data; void SetData(int n) data=n;private: int data;const A a;A b;下列函数调用中错误的是( )A. a.GetData(); B.a.SetData(10); C.b.GetData(); D. b.SetData(10);对类的构造函数和析构函数描述正确的是( )A. 构造函数可以重载,析构函数不能重载;B. 构造函数不能重

11、载,析构函数可以重载;C. 构造函数可以重载,析构函数也可以重载;D. 构造函数不能重载,析构函数也不能重载;下列有关类的说法不正确的是( )。A 对象是类的一个实例B 任何一个对象只能属于一个具体的类C 一个类只能有一个对象D 类与对象的关系和数据类型与变量的关系相似( )的功能是对象进行初始化。A析构函数 B. 数据成员 C.构造函数 D.静态成员函数关于友元的描述中,( )是错误的。A 友元函数是成员函数,它被说明在类体内B 友元函数可直接访问类中的私有成员C 友元函数破坏封装性,使用时尽量少用D 友元类中的所有成员函数都是友元函数为了使类中的某个成员不能被类的对象通过成员操作符访问,则

12、不能把该成员的访问权限定义为( )。 A.public B. protected C.private D. static下面对静态数据成员的描述中,正确的是( )。A.静态数据成员是类的所有对象共享的数据B.类的每一个对象都有自己的静态数据成员C.类的不同对象有不同的静态数据成员值D.静态数据成员不能通过类的对象调用下列表达方式正确的是( )。Aclass P B class Ppublic: public:int x=15; int x;void show()coutx; void show()coutx; ; C class P D. class P int f; public: ; in

13、t a; f=25; void Seta (int x) a=x;以下叙述中不正确的是( ): A.一个类的所有对象都有各自的数据成员,它们共享函数成员; B. 在一个类中可以声明另一个类的对象作为它的数据成员; C. 类与对象的关系和数据类型与变量的关系相似; D. 一个对象可以属于多个类。对于一个功能不太复杂,并且要求加快执行速度,选用( )合适A内置函数 B重载函数 C递归调用 D嵌套调用Sample是一个类,执行下面语句后,调用Sample类的构造函数的次数是 ( )Sample a2, *p = new Sample;A.0 B. 1 C. 2 D.3已知函数FA调用FB,若要把这两

14、个函数定义在同一个文件中,则( )A.FA必须定义在FB之前B.FB必须定义在FA之前C.若FA定义在FB之后,则FA的原型必须出现在FB的定义之前D.若FB定义在FA之后,则FB的原型必须出现在FA的定义之前下列有关运算符函数的描述中,错误的是( )A.运算符函数的名称总是以operator为前缀B.运算符函数的参数可以是对象C.运算符函数只能定义为类的成员函数D.在表达式中使用重载的运算符相当于调用运算符重载函数下面描述中,正确的是( )。Avirtual可以用来声明虚函数B含有纯虚函数的类是不可以用来创建对象的,因为它是虚基类C既使基类的构造函数没有参数,派生类也必须建立构造函数D静态数

15、据成员可以通过成员初始化列表来初始化下列对基类和派生类关系的描述中,错误的是( )。A.派生类是基类的具体化 B.派生类是基类的子集C.派生类是基类定义的延续 D.基类是派生类的抽象C+语言对C语言做了很多改进,C+语言相对于C语言的最根本的变化是( )。A增加了一些新的运算符 B.允许函数重载,并允许设置缺省参数C规定函数说明符必须用原型 D.引进了类和对象的概念下列表示引用的方法中,( )是正确的。已知:int k=1000;Aint &x=k; Bchar &y; Cint &z=1000; Dfloat &t=&k;下面对于友元函数描述正确的是( )。A友元函数的实现必须在类的内部定义

16、 B友元函数是类的成员函数C友元函数破坏了类的封装性和隐藏性 D友元函数不能访问类的私有成员假定AB为一个类,则执行“AB a(4) , b3 , * p2 ;”语句时,自动调用该类构造函数的次数为( )。A.3 B.4 C.6 D.9以下不属于构造函数特征的是( )A. 构造函数名与类名相同 B. 构造函数可以重载C. 构造函数可以设置默认参数 D. 构造函数必须指定函数类型下列定义中,X是一个类, ( )是定义指向对象数组的指针p。AX *p4 BX (*p)4 C( X*) p4 DX *p假定X为一个类,则该类的复制构造函数的声明语句为( )。AMy Class(My Class x)

17、 BMy Class&(My Class x)CMy Class(My Class &x) DMy Class(My Class *x)以下正确的说法是( )。A.实参和其对应的形参各占用独立的存储单元。B.实参和其对应的形参共占用一个存储单元。C.只有当实参和与其对应的形参同名时才共占用存储单元。D.形参是虚拟的,不占用存储单元。下列关于多态性的描述,错误的是( )。AC+语言的多态性分为编译时的多态性和运行时的多态性B编译时的多态性可通过函数重载实现C运行时的多态性可通过模板实现D实现运行时多态性的机制称为动态绑定对C+编译器区分重载函数无任何意义的信息是( )A.参数类型 B.参数个数C

18、.返回值类型 D.参数顺序 关于new运算符的下列描述中,( )是错误的。A它可以用来动态创建对象和对象数组B使用它创建对象或对象数组,可以使用运算符DELETE删除C使用它创建对象时要调用构造函数D使用它调用对象数组时不许指定初始值如果一个类至少有一个纯虚函数,那么就称该类为( )。A抽象类 B派生类 C纯基类 D以上都不对有如下程序:#include using namespace std;class Apublic: virtual void f() cout1; void g() cout2; ;class B: public Apublic: virtual void f() cou

19、t3; void g() cout4; ; void show(A &a) a.f(); a.g();int main() B b; show(b); return 0; 运行时的输出结果是( )A.12 B.34 C.14 D.32下列虚基类的声明中,正确的是( )A. class virtual B:public A B. virtual class B:public A C. class B:public A virtual D. class B: virtual public A派生类的对象对它的基类成员中( )是可以访问的。 A.公有继承的公有成员 B.公有继承的私有成员 C.公有继

20、承的保护成员 D.私有继承的公有成员已知数组arr的定义如下:int arr5 = 1,2,3,4,5;下列语句中输出结果不是2的是( )A.cout *arr+1 endl;B.cout *(arr+1)endl;C.cout arr1 endl; D.cout *arr endl;下列运算符中,( )运算符在C+中不能重载。A?: B Cnew D&有如下程序:#include using namespace std;class Apublic: virtual void f() cout1; void g() cout2;class B: public Apublic: virtual void f() cout3; void g() cout4; ; void show(A &a) a.f(); a.g();int main() B b; show(b); return 0; 运行时的输出结果是( )A12 B34 C14 D32有如下程序段:int i=4; int j=1;int main() int i=8,j=i; coutijendl;运行时的输出结果是( )A44 B41 C88 D81下列情况中,不会调用拷贝构造函数的是( )。A用一个对象去初始化同一类的另一个新对象时B将类的一个对象赋予该类的另一个对

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

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