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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

c++面向对象程序设计考试题doc.docx

1、c+面向对象程序设计考试题doc面向对象程序设计试题一一、单项选择题 ( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题 2 分,共 40 分 ) 1. 在 ( ) 情况下适宜采用 inline 定义内联函数。 a. 函数体含有循环语句 b. 函数体含有递归语句 c. 函数代码少、频繁调用 d. 函数代码多、不常调用 2. 在类中说明的成员可以使用关键字 ( ) 进行修饰。 a. private b. extern c. auto d. register 3. 如果类 a 被说明成类 b 的友元,则 ( ) 。 a. 类 a 的成员即类 b 的成员 b.

2、 类 b 的成员即类 a 的成员 c. 类 a 的成员函数不得访问类 b 的成员 d. 类 b 不一定是类 a 的友元 4. 定义析构函数时,应该注意 ( ) 。 a. 其名与类名完全相同 b. 返回类型是 void 类型 c. 无形参,也不可重载 d. 函数体中必须有 delete 语句 5. 在类中声明转换函数时不能指定 ( ) 。 a. 参数 b. 访问权限 c. 操作 d. 标识符 6. 在派生类中重新定义虚函数时必须在 ( ) 方面与基类保持一致。 a. 参数类型 b. 参数名字 c. 操作内容 d. 赋值 7. 在公有继承的情况下,基类成员在派生类中的访问权限 ( ) 。 a. 受

3、限制 b. 保持不变 c. 受保护 d. 不受保护 8. 通过 ( ) 调用虚函数时,采用动态束定。 a. 对象指针 b. 对象名 c. 成员名限定 d. 派生类名 9. 在 int a=3,*p=&a; 中, *p 的值是 ( ) 。 a. 变量 a 的地址值 b. 无意义 c. 变量 p 的地址值 d. 3 10.c+ 类体系中,不能被派生类继承的有 ( ) 。 a. 转换函数 b. 构造函数 c. 虚函数 d. 静态成员函数 11. 假定一个类的构造函数为 a(int aa,int bb)a=aa+;b=a*bb+; ,则执行 ax(4,5); 语句后, x.a 和 x.b 的值分别为

4、( ) 。 a. 4 和 5 b. 5 和 4 c. 4 和 20 d. 20 和 5 12. 假定 ab 为一个类,则执行 ab x ;语句时将自动调用该类的 ( ) 。 a. 有参构造函数 b. 无参构造函数 c. 拷贝构造函数 d. 赋值构造函数 13.c+ 语言建立类族是通过 ( ) 。 a. 类的嵌套 b. 类的继承 c. 虚函数 d. 抽象类 14. 执行语句序列 ofstream outf( “ salary.dat ” ) ; if(.)cout “成功”; else cout “失败”;后,如文件打开成功,显示”成功”,否则显示”失败” . 由此可知,上面 if 语句的条件表

5、达式是 ( ) 。 a. !outf 或者 outf.fail() b.!outf 或者 outf.good() c. outf 或者 outf.fail() d. outf 或者 outf.good() 15. 静态成员函数不能说明为 ( ) 。 a. 整型函数 b. 浮点函数 c. 虚函数 d. 字符型函数 16. 在 c+ 中,数据封装要解决的问题是 ( ) 。 a. 数据规范化排列 b. 数据高速转换 c. 避免数据丢失 d. 保证数据完整性 17. 在 c+ 中有以下 4 条语句: static int hot=200;int &rad=hot;hot=hot+100;couta.

6、0 b. 100 c. 300 d. 200 18. 如果 class 类中的所有成员在定义时都没有使用关键字 pubilc,private,protected ,则所有成员缺省定义为: ( ) 。 a. public b. protected c. private d. static 19.c+ 设置虚基类的目的是 ( ) 。 a. 消除二义性 b. 简化程序 c. 提高运行效率 d. 减少目标代码 20. 实现运行时的多态性用 ( ) 。 a. 重载函数 b. 构造函数 c. 析构函数 d. 虚函数 二、填空题 ( 每空 2 分,共 20 分 ) 1. 派生类可以定义其 _ 中不具备的数据

7、和操作。 2. 当建立一个新对象时,程序自动调用 _ 。 3. 定义 _ 函数时,应在参数个数或参数类型上有所不同。 4. 类是用户定义的类型,具有 _ 称作对象。 5. 使用指向对象的指针来标识类的成员,则必须使用的运算符是 _ 。 6. 拷贝初始化构造函数使用 _ 来初始化创建中的对象。 7. 在一个类中可以对一个操作符进行 _ 重载。 8. 在 c+ 中有二种参数传递方式: _ 。 9. 多态性通过 _ 来实现的。 10. 使用空的虚函数可以保证基类到派生类建立起一条 _ ,使派生类通过虚函数机制正确存取虚函数。 三、完成程序题 ( 每小题 5 分,共 20 分 ) 1. 在下面程序的底

8、画线处填上适当的字句,使该程序执行结果为 10 。 #include class baseint x; public : _ 为 x 置值 _ 取 x 值 ; void main() base test; test.init(3); cout 2. 在下列程序的底画线处填上适当的字句,完成类中成员函数的定义。 #include class box private int color;int upx,upy;int lowx,lowy; public : friend int same - color(line a,box b); _ set - color(int c)color=c; voi

9、d define - box(int x1,int y1,int x2,int y2)upx=x1;upy=y1; ; class line private: int color;int startx,starty;int len; public: friend - int same - color(line a,box b); _set - color(int c)color=c; void define - line(int x,int y)startx=x; ; int same - color(line a,box b) if(a.color= =b.color) return 1;

10、return 0; 3. 在下面程序的底画线处填上适当的字句,完成程序。 #include class a public void f(int i)coutvoid g()cout ” n ” ; ; class _ public void h()cout ” h n ” ; a f; ; void main() b d1; d1.f(6); _.h(); 4. 在下列程序的空格处填上适当的字句,使输出为: 0 , 7 , 5 。 #include #include class magic double x; public _(double d=0.00) x(fabs(d) magic op

11、erator+(magic c)return magic(sqrt(x*x+c.x*c.x); friend ostream & operator(ostream & os,magic c)return os; void main() _; cout 四、综合应用题 ( 共 20 分 ) 1. 分析下列程序可能的输出结果。 ( 满分 8 分 ) #include class base public virtual int func() return 10; ; class derived public base public int func() return 200; ; void main

12、() derived d; base & b=d; coutcoutarea(); return sum; 面向对象程序设计试题二一、 单项选择题(210): 1. 假定一个类的构造函数为a ( int aa, int bb) a = aa; b = bb; ,则执行a x(4,5);语法后,x.a和x.b的值分别为( ) a4和5 b5和4 c4和20 d20和5 2. 假定ab为一个类,则执行ab x;语句时将自动调用该类的( ) a有参构造函数 b无参构造函数 c拷贝构造函数 d赋值重载函数 3. c+语言建立类族是通过( ) a类的嵌套 b类的继承 c虚函数 d抽象类 4. 执行语句序

13、列 ofstream outf(salary.dat);if () cout成功!; else cout失败!; 后,如果文件打开成功,显示成功!,否则显示失败!。由此可知,上面if语句的处的表达式是( ) a!outf或者outf.fail() b!outf或者outf.good() coutf或者outf.good() doutf或者ouf.fail() 5. 静态成员函数不能说明为( ) a整型函数 b浮点函数 c虚函数 d字符型函数 6. 在c+中,数据封装要解决的问题是( ) a数据规范化排列 b数据高速转换 c避免数据丢失 d切断了不同模块之间的数据的非法使用 7. 在c+中有下列

14、4条语句: int hot = 100; int &rsd = hot; hot = hot + 100; cout执行这4条语句后输出为( ) a0 b100 c200 d300 8. 如果class类中的所有成员在定义时都没有使用关键字public、private或protected,则所有成员缺省定义为( ) apublic bprotected cprivate dstatic 9. 设置虚基类的目的是( ) a消除两义性 b简化程序 c提高运行效率 d减少目标代码 10. 实现运行时的多态性用( ) a重载函数 b构造函数 c析构函数 d虚函数 二、 填空题(210): 11、面向对

15、象程序设计的_机制提供了重复利用程序资源的一种途径。 12、对虚函数使用基类类型的指针或引用调用,系统使用_联编;而使用对象调用时,系统使用_联编。 13、允许访问一个类的所有对象的私有成员、公有成员和保护成员的函数是该类的_和_。 14、执行完c+程序中的三天语句: int a,b,*c=&a; int * &p = c; p = &b; 后c指向_。 15、class x public: int a; enum bool false, true ; ; void fun(x& x) _ = _;/ 将x的a赋值为所定义的布尔值false 16、在类定义中,类说明以关键字class开始,其后

16、跟_,它必须是一个有效的c+标识符。类说明的内容用花括号括起来,称为_。 17、实现类对象初始化任务的是该类的_。 18、初始化类模板时,相对于它的每个参数要提供_。 19、重载的运算符仍然保持其原来的优先级、结合性和_。 20、从一个抽象类派生的类必须提供纯虚函数的实现代码,或者在该派生类中将它说明为_。 三、 改错题(25): 21、指出下面程序中的错误,在错误处说明出错原因 #include const float pi = 3.1416; const float r = 3.2; void main() float s1,s2,c1,c2,r1; c1 = pi*r*r; s1 = 2

17、*pi*r; r = 2.8; c2 = pi*r*r; s2 = 2*pi*r; cout22、指出下面程序中的错误,在错误处说明出错原因 class a public: a( ) func(); virtual void func() = 0; ; 23、指出下面程序中的错误,并改正 #include class test private: static int x; public: virtual static int func(); ; int test:x = 20; int test:func() return x; void main() couttest a; cout 24、

18、指出下面程序重点错误,在错误处说明出错原因 #include class a private: int a; public: void seta( int x) a = x; void showa() couta=; class b: private a private: int b; public: void setb(int x, int y) b=x; seta(y); void showb() showa(); coutb=; void main() b obj; obj.seta(53); obj.showa(); obj.setb(53,58); obj.showb(); 25、下

19、面程序希望产生的输出为4+3i,但是运行输出是3+3i,请指出错误并改正 #include class complex int real; / 实部 int imag; / 虚部 public: complex(int r=0; int i=0): real(r),imag(i) void show() coutcomplex operator+() real+; return * this; ; void main() complex o(2,3); +c; c.show(); 四、 完成程序题(45): 26、在下面程序的横线处填上适当字句,使该程序执行结果为6。 #include cla

20、ss base int x; public: _/ 为x置值 _/ 取x值 ; void main() base test; test.init(6); cout 27、在下面横线处填上适当字句,完成类中成员函数的定义: # include class line; int x; class box private: int color; int upx, upy; int lowx, lowy; public: _ int same_color( line a, box b); void set_color( int c) color = c; void define_line (int x,

21、 int y) startx = x; ; int same_color (line a, box b) if (a.color = = b.color) return 1; return 0; 28、在横线处填上适当字句,完成程序。 # include class a public: void f (int i) coutvoid g () coutgn; ; class b: a public: void h() cout0?- - top:top; ; 30、 class location private: int x, y; public: void init( int initx,

22、int inity); int getx(); int gety(); ; void location:init (int initx, int inity) x = initx; y = inity; int location:getx() return x; int location:gety() return y; #include void main() location a1; _ / 定义一个指向a1的指针pa1; _ / 用pa1将对象a1的书籍成员x和y分别初始化为6和8 五、 程序分析题(56): 31、 # include class a int * a; public:

23、a (int x) a = new int(x); cout*a = *a sizeof (q) x = (t)y; else y = (q)x; void main() double d; int i; d = 9999; i = 88; f (d,i); cout d= d i= i endl; d = 88; i = 9999; f (i,d); cout d= d i= i endl; 33、 # include class base public: virtual int func () return 0; ; class derived: public base public: i

24、nt func() return 100; ; void main() derived d; base& b = d; cout b.func() endl; cout b.base:func() endl; 34、 # include class test private: static int val; int a; public: static int func(); static void sfunc(test &r); ; int test:val = 20; int test:func() val += val; return val; void test:sfunc(test &r) r.a = 25; cout result3 = r.a; void main() cout result1 = test:func() endl; test a; cout result2 = a.func(); test:sfunc(a); 面向对象程序设计试题三一、单项选择题 ( 本大题共 10 小题,每小题 2 分,共 20 分 ) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码

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

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