四川大学C--面向对象程序设计模拟试题7.doc
《四川大学C--面向对象程序设计模拟试题7.doc》由会员分享,可在线阅读,更多相关《四川大学C--面向对象程序设计模拟试题7.doc(13页珍藏版)》请在咨信网上搜索。
C++面向对象程序设计模拟试题七 一、单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个备选项中,只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.下列语句中,错误的是( )。 A)const int buffer = 168; B)const int num; C)const double *p; D)double * const p = new double; 2.C++中的模板包括( )。 A)对象模板和函数模板 B)对象模板和类模板 C)函数模板和类模板 D)变量模板和对象模板 3.对于常对象,C++遵循( )。 A)通过常对象可以调用常成员函数 B)通过常对象可以所有成员函数 C)常对象的成员都是常成员 D)通过常对象可以调用任何不改变对象值的成员函数 4.以下关键字不能用来声明类的访问权限的是( )。 A)public B)static C)protected D)private 5.下列关于this指针的叙述中,正确的是( )。 A)与类相关的所有函数都含有this指针 B)所有类的成员函数都有this指针 C)所有函数都有this指针 D)只有类的非静态成员函数才有this指针 6.派生类的成员函数不能直接访问基类的( )。 A)保护成员 B)公有成员 C)私有成员 D)前面各选项都正确 7.在下列函数原型中,可以作为类Test构造函数的是( )。 A)void Test (int); B)int Test (); C)~Test (int); D)Test (int); 8.在下面4个关键字中,用于说明虚基类的是( )。 A)virtual B)public C)protected D)private 9.在C++中,用于实现编译时多态性的是( )。 A)友元函数 B)重载函数 C)静态成员函数 D)虚函数 10.下列关于C++函数的说明中,正确的是( )。 A)内置函数就是定义在另一个函数体内部的函数 B)函数体的最后一条语句必须是return语句 C)C++标准要求在调用一个函数之前,如果没定义函数,则必须先声明其原型 D)编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式 二、填空题(本大题共5小题,每小题2分,共10分)不写解答过程,将正确的答案写在每小题的空格内。错填或不填均无分。 1.一个函数名为Show,返回值类型为void,没有参数的纯虚常成员函数可以声明为( )。 2.若将一个二元运算符重载为类的友员函数,其形参个数应该是( )个。 3.采用struct定义的类中数据成员和成员函数的默认访问权限是( )。 4.在面向对象方法中,( )描述的是具有相同属性与操作的一组对象。 5.模板类型形参表使用的关键字为( )。 三、程序分析题(本大题共6小题,每小题5分,共30分)给出下面各程序的输出结果。 1.阅读下面程序,写出输出结果。 #include <iostream> using namespace std; class Test { private: int n; public: Test(int i = 16) { n = i; } int Get() { return n; } int Get() const { return n - 2; } }; int main() { Test a; const Test b(18); cout << a.Get() << "," << b.Get() << endl; return 0; } 上面程序的输出结果为: 2.阅读下面程序,写出输出结果。 #include <iostream> using namespace std; class A { public: A() { cout << "A" << endl; } ~A() { cout << "~A" << endl; } }; class B: A { public: B() { cout << "B" << endl; } ~B() { cout << "~B" << endl; } }; int main() { B obj; return 0; } 上面程序的输出结果为: 3.阅读下面程序,写出输出结果。 #include <iostream> using namespace std; int f(int a) { return a * a + 8; } template <class T> T f(const T &a) { return a * a; } int main() { cout << f(1) << "," << f(1.0) << endl; return 0; } 上面程序的输出结果为: 4.阅读下面程序,写出输出结果。 #include <iostream> using namespace std; namespace ns { int x = 18; } int x = 5; int main() { int x = 10; cout << x << " " << ::x << " " << ns::x << endl; return 0; } 上面程序的输出结果为: 5.阅读下面程序,写出输出结果。 #include <iostream> using namespace std; class A { public: virtual void Show() const { cout << "A::Show()" << endl; } }; class B: public A { public: void Show() const { cout << "B::Show()" << endl; } }; void Refers(const A &obj) { obj.Show(); } int main() { A obj1; B obj2; Refers(obj1); Refers(obj2); return 0; } 上面程序的输出结果为: 6.阅读下面程序,写出输出结果。 #include <iostream> using namespace std; class A { protected: int a; public: A(int x): a(x) {} void Show() const { cout << a << endl; } }; class B: public A { protected: int b; public: B(int x, int y): A(x), b(y) {} void Show() const { cout << b << endl; } }; int main() { B obj(18, 5); obj.Show(); obj.A::Show(); return 0; } 上面程序的输出结果为: 四、完成程序填题(本大题共4个小题,每小题3分,共12分)下面程序都留有空白,请将程序补充完整。 1.将如下程序补充完整。 #include <iostream> using namespace std; class Integer { private: int n; public: Integer(int n): n(n) { } Integer & [1] { --n; return *this; } // 重载前缀--运算符 void Show() const { cout << n << endl; } }; int main() { Integer i(168); --i; i.Show(); return 0; } 2.将如下程序补充完整。 #include <iostream> using namespace std; class A { private: int a; public: A(int m = 0): a(m) {} [2] // 类型转换函数,A类对象转转成int型量 { return a; } }; int main() { A a = 8.14; cout << a << endl; return 0; } 3.将如下程序补充完整。 #include <iostream> using namespace std; class A { private: int m; public: A(int a): m(a){ } virtual void Show() const { cout << m << endl; } }; class B: public A { private: int n; public: B(int a, int b): A(a) { n = b; } void Show() const { cout << n << endl; } }; int main() { B obj(158, 98); [2] Show(); // 调用基类的Show() return 0; } 4.将如下程序补充完整。 #include <iostream> using namespace std; class Complex { private: double realPart; double imagePart; public: Complex(double real = 0, double image = 0): realPart(real), imagePart(image){ } Complex [3] (const Complex &a) const // 重载减法运算符+ { return Complex(realPart - a.realPart, imagePart - a.imagePart); } void Show() const { cout << realPart << "+" << imagePart << "i" << endl;} }; int main() { 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分,共28分) 1.试使用函数模板实现求一个数组各元素的积,要求编写测试程序。 函数模板声明如下: template <class Type> Type Mul(Type a[], int n); // 求数组a各元素的积 2.设计一个日期类Date,,要求: (1)包含年(year)、月(month)和日(day)私有数据成员。 (2)包含构造函数,重载输出运算符“<<”与重载输入运算符“>>”。 要求编写测试程序。 C++面向对象程序设计模拟试题七参考答案 一、单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个备选项中,只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 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() const = 0; 2.参考答案:2 3.参考答案:public或公有 4.参考答案:类 5.参考答案:class 三、程序分析题(本大题共6小题,每小题5分,共30分)给出下面各程序的输出结果。 1.参考答案:16,16 2.参考答案: A B ~B ~A 3.参考答案:9,1 4.参考答案:10 5 18 5.参考答案: A::Show() B::Show() 6.参考答案: 5 18 四、完成程序填题(本大题共4个小题,每小题3分,共12分)下面程序都留有空白,请将程序补充完整。 1.参考答案:[1] operator--() 2.参考答案:[2] operator int() const或operator int() 3.参考答案:[3] obj.A:: 4.参考答案:[4] operator- 五、编程题(本大题共2小题,第1小题12分,第2小题16分,共28分) 1.参考程序: #include <iostream> using namespace std; template <class Type> Type Mul(Type a[], int n) // 求数组a各元素的积 { Type t = 1; for (int i = 0; i < n; i++) t *= a[i]; return t; } int main() { int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9}; cout << Mul(a, 9) << endl; return 0; } 2.参考程序: #include <iostream> using namespace std; class Date { private: int year; int month; int day; public: Date(int y = 2010, int m = 1, int d = 1):year(y), month(m), day(d){} void SetYear(int y) { year = y; } void SetMonth(int m) { month = m; } void SetDay(int d) { day = d; } int GetYear() const { return year; } int GetMonth() const { return month; } int GetDay() const { return day; } }; istream &operator>>(istream &in, Date &dt) { int y, m, d; cout << "输入年:"; in >> y; cout << "输入月:"; in >> m; cout << "输入日:"; in >> d; dt.SetYear(y); dt.SetMonth(m); dt.SetDay(d); return in; } ostream &operator<<(ostream &out, const Date &dt) { cout << dt.GetYear() << "年" << dt.GetMonth() << "月" << dt.GetDay() << "日"; return out; } int main() { Date d; cin >> d; cout << d << endl; return 0; } 其中专业理论知识内容包括:保安理论知识、消防业务知识、职业道德、法律常识、保安礼仪、救护知识。作技能训练内容包括:岗位操作指引、勤务技能、消防技能、军事技能。 二.培训的及要求培训目的 安全生产目标责任书 为了进一步落实安全生产责任制,做到“责、权、利”相结合,根据我公司2015年度安全生产目标的内容,现与财务部签订如下安全生产目标: 一、目标值: 1、全年人身死亡事故为零,重伤事故为零,轻伤人数为零。 2、现金安全保管,不发生盗窃事故。 3、每月足额提取安全生产费用,保障安全生产投入资金的到位。 4、安全培训合格率为100%。 二、本单位安全工作上必须做到以下内容: 1、对本单位的安全生产负直接领导责任,必须模范遵守公司的各项安全管理制度,不发布与公司安全管理制度相抵触的指令,严格履行本人的安全职责,确保安全责任制在本单位全面落实,并全力支持安全工作。 2、保证公司各项安全管理制度和管理办法在本单位内全面实施,并自觉接受公司安全部门的监督和管理。 3、在确保安全的前提下组织生产,始终把安全工作放在首位,当“安全与交货期、质量”发生矛盾时,坚持安全第一的原则。 4、参加生产碰头会时,首先汇报本单位的安全生产情况和安全问题落实情况;在安排本单位生产任务时,必须安排安全工作内容,并写入记录。 5、在公司及政府的安全检查中杜绝各类违章现象。 6、组织本部门积极参加安全检查,做到有检查、有整改,记录全。 7、以身作则,不违章指挥、不违章操作。对发现的各类违章现象负有查禁的责任,同时要予以查处。 8、虚心接受员工提出的问题,杜绝不接受或盲目指挥; 9、发生事故,应立即报告主管领导,按照“四不放过”的原则召开事故分析会,提出整改措施和对责任者的处理意见,并填写事故登记表,严禁隐瞒不报或降低对责任者的处罚标准。 10、必须按规定对单位员工进行培训和新员工上岗教育; 11、严格执行公司安全生产十六项禁令,保证本单位所有人员不违章作业。 三、 安全奖惩: 1、对于全年实现安全目标的按照公司生产现场管理规定和工作说明书进行考核奖励;对于未实现安全目标的按照公司规定进行处罚。 2、每月接受主管领导指派人员对安全生产责任状的落 其中专业理论知识内容包括:保安理论知识、消防业务知识、职业道德、法律常识、保安礼仪、救护知识。作技能训练内容包括:岗位操作指引、勤务技能、消防技能、军事技能。 二.培训的及要求培训目的 安全生产目标责任书 为了进一步落实安全生产责任制,做到“责、权、利”相结合,根据我公司2015年度安全生产目标的内容,现与财务部签订如下安全生产目标: 一、目标值: 1、全年人身死亡事故为零,重伤事故为零,轻伤人数为零。 2、现金安全保管,不发生盗窃事故。 3、每月足额提取安全生产费用,保障安全生产投入资金的到位。 4、安全培训合格率为100%。 二、本单位安全工作上必须做到以下内容: 1、对本单位的安全生产负直接领导责任,必须模范遵守公司的各项安全管理制度,不发布与公司安全管理制度相抵触的指令,严格履行本人的安全职责,确保安全责任制在本单位全面落实,并全力支持安全工作。 2、保证公司各项安全管理制度和管理办法在本单位内全面实施,并自觉接受公司安全部门的监督和管理。 3、在确保安全的前提下组织生产,始终把安全工作放在首位,当“安全与交货期、质量”发生矛盾时,坚持安全第一的原则。 4、参加生产碰头会时,首先汇报本单位的安全生产情况和安全问题落实情况;在安排本单位生产任务时,必须安排安全工作内容,并写入记录。 5、在公司及政府的安全检查中杜绝各类违章现象。 6、组织本部门积极参加安全检查,做到有检查、有整改,记录全。 7、以身作则,不违章指挥、不违章操作。对发现的各类违章现象负有查禁的责任,同时要予以查处。 8、虚心接受员工提出的问题,杜绝不接受或盲目指挥; 9、发生事故,应立即报告主管领导,按照“四不放过”的原则召开事故分析会,提出整改措施和对责任者的处理意见,并填写事故登记表,严禁隐瞒不报或降低对责任者的处罚标准。 10、必须按规定对单位员工进行培训和新员工上岗教育; 11、严格执行公司安全生产十六项禁令,保证本单位所有人员不违章作业。 三、 安全奖惩: 1、对于全年实现安全目标的按照公司生产现场管理规定和工作说明书进行考核奖励;对于未实现安全目标的按照公司规定进行处罚。 2、每月接受主管领导指派人员对安全生产责任状的落- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 四川大学 面向 对象 程序设计 模拟 试题
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文