版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C+面向对象程序设计模拟试题七四川大学C+面向对象程序设计 模拟试题7、单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个备选项中,只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1 下列语句中,错误的是()。A) const int buffer = 168;B ) const intn um;C) const double *p;D) double * const p=new double;2 C+中的模板包括()。A)对象模板和函数模板B)对象模板和类模板C)函数模板和类模板D)变量模板和对象模板3 对于常对象,C+遵循()。A)通过常
2、对象可以调用常成员函数B)通过常对象可以所有成员函数C)常对象的成员都是常成员D)通过常对象可以调用任何不改变对象值的成员函数4.以下关键字不能用来声明类的访问权限的是( )。A) public B) static C) protectedD) private5 .下列关于this指针的叙述中,正确的是( )。A) 与类相关的所有函数都含有this指针B) 所有类的成员函数都有this指针C) 所有函数都有this指针D) 只有类的非静态成员函数才有this指针6 .派生类的成员函数不能直接访问基类的 ( )。A )保护成员B )公有成员C)私有成员D )前面各选项都正确7.在下列函数原型中,
3、可以作为类Test构造函数的是()。A) void Test (int);B) int Test ();C) Test (int);D) Test (int);8在下面4个关键字中,用于说明虚基类的是 ( )。A) virtualB) publicC) protectedD) private9 .在 C+中,用于实现编译时多态性的是()。A )友元函数C)静态成员函数B )重载函数D)虚函数10 下列关于 C+函数的说明中,正确的是()。A)内置函数就是定义在另一个函数体内部的 函数B)函数体的最后一条语句必须是return语句C)C+标准要求在调用一个函数之前,如果 没定义函数,则必须先声明
4、其原型D)编译器会根据函数的返回值类型和参数表 来区分函数的不同重载形式二、填空题(本大题共5小题,每小题2分,共 10分)不写解答过程,将正确的答案写在每小 题的空格内。错填或不填均无分。1. 一个函数名为Show,返回值类型为void,没 有参数的纯虚常成员函数可以声明为( )。2. 若将一个二元运算符重载为类的友员函数,其形参个数应该是()个。3. 采用struct定义的类中数据成员和成员函数的默认访问权限是()。4. 在面向对象方法中,()描述的是具有相同属性与操作的一组对象。5 .模板类型形参表使用的关键字为 ( )。三、程序分析题(本大题共6小题,每小题5分, 共30分)给出下面各
5、程序的输出结果。1 阅读下面程序,写出输出结果。#in elude <iostream>using n amespace std;class Testprivate:int n;public:Test(int i = 16) n = i; int Get() return n; int Get() const retur n n - 2; int mai n()Test a;con st Test b(18);cout << a.Get() << "," << b.Get() << endl;return 0;上面
6、程序的输出结果为:2阅读下面程序,写出输出结果。#in clude <iostream>using namespace std;class Apublic:A() cout << "A" << en dl; A() cout << "A" << endl; ;class B: Apublic:B() cout << "B" << en dl; B() cout << "B" << en dl; ;int ma
7、i n()B obj;return 0;上面程序的输出结果为:3阅读下面程序,写出输出结果#in clude <iostream>using namespace std;int f(int a) return a * a + 8; template vclass T>T f(const T &a) return a * a; int mai n()cout << f(1) << "," << f(1.0) << endl;return 0;上面程序的输出结果为:4.阅读下面程序,写出输出结果。#in
8、clude <iostream>using namespace std;n amespace nsint x = 18;int x = 5;int mai n()int x = 10;cout << x << " " << :x << " " << ns:x << en dl;return 0;上面程序的输出结果为:5 阅读下面程序,写出输出结果。#in elude <iostream>using n amespace std;class Apublic:vi
9、rtual void Show() const cout <<"A:Show()" << endl; ;class B: public Apublic:<<void Show() con st cout << "B:Show()" en dl; ;void Refers(c onst A &obj)obj.Show();int mai n()A obj1;B obj2;Refers(obj1);Refers(obj2);return 0;上面程序的输出结果为:6.阅读下面程序,写出输出结果。#in
10、elude <iostream>using n amespace std;class Aprotected:int a;public:A(i nt x): a(x) void Show() const cout << a << en dl; ;class B: public Aprotected:int b;public:B(int x, int y): A(x), b(y) void Show() const cout << b << en dl; ;int mai n()B obj(18, 5);obj.Show();obj.A:
11、Show();return 0;上面程序的输出结果为:四、完成程序填题(本大题共4个小题,每小题 3分,共12分)下面程序都留有空白,请将程 序补充完整。1 将如下程序补充完整。#in elude <iostream>using n amespace std;class In tegerprivate:int n;public:In teger(i nt n): n(n) In teger & 1 -n; return *this; /重载前缀-运算符void Show() const cout << n << en dl; ;int mai n()
12、In teger i(168);-i;i.Show();return 0;2 将如下程序补充完整。#in elude <iostream>using n amespace std;class Aprivate:int a;public:/类型转换函A(int m = 0): a(m) 2数,A类对象转转成int型量 return a; ;int mai n()A a = 8.14;cout << a << en dl;return 0;3.将如下程序补充完整。#in elude <iostream>using n amespace std;cla
13、ss Aprivate:int m;public:A(i nt a): m(a) <<virtual void Show() const cout << m en dl; ;class B: public Aprivate:int n;public:B(int a, int b): A(a) n = b; void Show() const cout << n << en dl; ;int mai n()B obj(158, 98);2Show();/ 调用基类的 Show()return 0;4.将如下程序补充完整。#in clude <
14、iostream>using n amespace std;class Complexprivate:double realPart;double imagePart;public:Complex(double real = 0, double image = 0): realPart(real), imagePart(image) Complex 3(constComplex &a) con stII重载减法运算符+ return Complex(realPart - a.realPart, imagePart - a.imagePart); void Show() const
15、 cout << realPart << "+"<< imagePart << "i" << en dl;int mai n()Complex a(2, 9), b(1, 1), c;c = a - b;cout << "a=" a.Show();cout << "b=" b.Show();cout << "c=" c.Show();return 0;五、编程题(本大题共2小题,第1小题12分, 第2
16、小题16分,共28分)1 试使用函数模板实现求一个数组各元素的积, 要求编写测试程序。函数模板声明如下:/求数组atemplate vclass Type> Type Mul(Type a, i nt n);各元素的积2 设计一个日期类Date,,要求:(1) 包含年(year)、月(month)和日(day)私有数 据成员。(2) 包含构造函数,重载输出运算符“ << ”与 重载输入运算符">> ”。要求编写测试程序。C+面向对象程序设计模拟试题七参考答案、单项选择题(本大题共 10小题,每小题2 分,共20分)在每小题列出的四个备选项中, 只有一个是
17、符合题目要求的,请将其代码填写在 题后的括号内。错选、多选或未选均无分。1. B)2. C)3. A)4. B)5. D)6. C)7. D)8. A)9. B)10. C)二、填空题(本大题共5小题,每小题2分,共 10分)不写解答过程,将正确的答案写在每小 题的空格内。错填或不填均无分。1 .参考答案:virtual void Show() con st = 0;2 参考答案:23. 参考答案:public或公有4. 参考答案:类5 参考答案:class三、程序分析题(本大题共6小题,每小题5分, 共30分)给出下面各程序的输出结果。1. 参考答案:16,162 参考答案:ABBA3 参考
18、答案:9,14.参考答案:10 5 185 参考答案:A:Show()B:Show()6 参考答案:518四、完成程序填题(本大题共4个小题,每小题 3分,共12分)下面程序都留有空白,请将程 序补充完整。1. 参考答案:1 operator-。2. 参考答案:2 operator int() const 或 operator int()3. 参考答案:3 objA:4 .参考答案:4 operator-五、编程题(本大题共2小题,第1小题12分, 第2小题16分,共28分)1 参考程序:#in elude <iostream> using n amespace std;templ
19、ate vclass Type>/求数组aType Mul(Type a, i nt n)各元素的积Type t =1;for (int i = 0; i < n; i+) t *= ai;return t int mai n()int a = 1, 2, 3, 4, 5, 6, 7, 8, 9;cout << Mul(a, 9) << endl;return 0;2 参考程序:#in elude <iostream>using n amespace std;class Dateprivate:int year;int mon th;int day;public:Date(int y = 2010, int m = 1, int d = 1):year(y), mon th(m), day(d)void Set Year( int y) year = y; void SetMo nth(i nt m) month = m; void SetDay(i nt d)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年广东省佛山市教师职称考试(理论知识)在线模拟题库及答案
- 天津市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(巩固)
- 舟山市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(b卷)
- 2025年高压电工操作证理论全国考试题库(含答案)
- 2025年高血压患者的护理相关知识考核试题及答案
- 2025年高效办公试题及答案
- 2025年高校管理学试题及答案
- 2025年高校党政管理题库及答案
- 2025年高危妊娠的风险筛查与评估考核试题及答案
- 绵阳市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(预热题)
- 2024年河北省中等职业【对口】升学中职【英语】真题(原卷版+解析版)
- 2024 年一级注册结构工程师《专业基础考试》真题及答案解析【完整版】
- 2025年中销售工作总结
- 高频变压器的制作工艺
- 灭火器具与消防设备使用培训
- 2025抖音培训合同协议书
- 高铁专业职业生涯规划
- 《运动损伤与急救》课件
- DBS52 011-2016 食品安全地方标准 贵州辣椒面
- 肺栓塞的应急预案演练脚本
- (完整)高中英语3500词汇表
评论
0/150
提交评论