




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
总 分 南京农业大学面向对象程序设计 试卷()班级 姓名 学号 题 号一二三四五六七得 分注意:将答案写在答题纸上;否则,责任由学生自负。一、单项选择题(每题2分,共20分)1. 下面有关重载函数的说法中正确的是( ) A重载函数必须具有不同的返回值类型;B重载函数形参个数必须不同; C重载函数必须有不同的形参列表D重载函数名可以不同; 2. 使用string类建立对象的不正确方式是()。A. string str(“OK”); B. string str=”OK”; C. string str; D. string str=OK;3. 面关于C+中类的继承与派生的说法错误的是( )A基类的protected成员在公有派生类的成员函数中可以直接使用B基类的protected成员在私有派生类的成员函数中可以直接使用C私有派生时,基类的所有成员访问权限在派生类中保持不变D继承可以分为单一继承与多重继承4. 面向对象程序设计将数据与( )放在一起,做为一个相互依存、不可分割的整体来处理。A. 对数据的操作B. 信息C. 数据隐藏D.数据抽象5. 一个类的析构函数 。A.唯一的 B.允许重载 C.至多可有两个 D.只能是缺省的6. 下列各类函数中,( )不是类的成员函数。A. 构造函数 B. 析构函数 C. 友元函数 D. 拷贝构造函数7. 在下面选项中,对类的拷贝构造函数的声明形式是( )AA:A(&) B. A:A(constA&) C. A:A(A) D. void A:A(A&a)8. 下面关于静态成员描述正确的是( )A. 静态成员是对象的数据成员B. 静态成员是对象的成员C. 静态成员是对象的成员函数D. 静态成员不是对象的成员9. 下面关于关于成员函数特征的描述中,错误的是( )A成员函数不可以设置参数的默认值 B成员函数可以重载C成员函数可以是内联函数D成员函数可以是静态的10. 下面叙述正确的是( )A基类的保护成员在派生类中仍然是保护的B基类的公有成员在派生类中仍然是公有的C基类的私有成员在派生类中是私有的D从基类派生时,可以有3种派生方法二、简答题(每题5分,共20分)1. 构造函数和析构函数有什么独特的特性?2在什么情况下调用拷贝构造函数?3. 什么是赋值兼容规则?4. 简述对文件进行读写操作的5个步骤。三、分析下列程序,写出程序的运行结果(每题6分,共30分)1 #include #include class basechar *p;public:base(int sz, char *bptr) p = new char sz;strcpy( p,bptr);coutconstructor baseendl; base()delete p;cout destructor basen;class derive: public basechar *pp;public:derive(int sz1, int sz2, char *bp, char *dptr) : base(sz1, bp)pp = new char sz2;strcpy( pp, dptr);coutconstructor deriveendl;derive()delete pp;cout destructor deriven;void main() base *px = new derive(5 ,7 , base, derive); delete px; 2. #includeusing namespace std;class baseint x;public:base(int a)x=a;coutbase xendl;base(base&t)x=t.x;coutbase copy xendl;virtual base()coutbase xendl;class derived :public baseint y;public:derived(int a,int b):base(a) y=b;coutderived yendl; derived(derived&t):base(t) y=t.y;coutderived yendl; derived()coutderived yendl;void main()base*pb=new derived(52,54);base a(*pb);delete pb;3. #includeclass Apublic:virtual void fa(void)coutA:faendl;void fb(void)coutA:fbendl;class B:public Apublic:void fa(void)coutB:faendl;void fb(void)coutB:fbfa();pb-fb();pb-fa();pb-A:fa();(B*)pb)-fb();4. #include class BASE char c; public:BASE(char n):c(n) virtualBASE()coutc;class DERIVED:public BASE char c; public:DERIVED(char n):BASE(n+1),c(n) DERIVED()coutc; ; void main() DERIVED(X); 5. #includeclass basepublic:base()coutthis is base class!n;class base2public:base2()coutthis is base2 class!n;class level1:public base2,virtual public basepublic:level1()coutthis is level1 class!n;class level2:public base2,virtual public basepublic:level2()coutthis is level2 class!n;class toplevel:public level1,virtual public level2public:toplevel()coutthis is toplevel class!n;void main()toplevel topobj;四、编程题,从下列三题中任选二题,多做不给分。(每题15分,共30分)1文本文件的读写操作,请输入一个学生的姓名、学号、年龄和住址存入文本文件中,然后读出该文件的内容。2. 编写一个学生和教师数据输入和显示程序,学生数据要求有编号、姓名、班号和成绩,教师数据有编号、姓名、职称和部门。要求将编号、姓名的输入和显示设计成一个类person,并作为学生数据操作类student和教师数据操作类teacher的基类,学生数据中的班号和成绩的输入和显示在student类中实现,教师数据中的职称和部门的输入和显示在teacher类中实现。最后在主函数中进行该类的测试。下面给出了基类person的主要成员:(1) 私有成员:l int no;编号l char name10; 姓名(2)公有成员:l void input(); 编号和姓名的输入l void display(); 编号和姓名的显示3. 用重载运算符的两种方法分别重载运算符、实现两个复数的加减运算(要求写出主函数进行类的测试)总 分 南京农业大学面向对象程序设计 试卷()答题纸班级 姓名 学号 题
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 46132-2025空间环境航天材料空间辐射效应试验方法
- 副校长在全体教师大会上的讲话:让每一堂课都成为师生共赴的成长之旅
- 化学空气氧气试题及答案
- 装饰公司物资管理办法
- 智能化驱动与供应链融合-洞察及研究
- 规范餐饮标准管理办法
- 财务外包交付管理办法
- 融资招投标管理办法
- 《无形资产管理办法》
- 行政仓库库存管理办法
- 制造型企业销售管理制度
- 非标自动化公司技术部管理制度
- 应用型高校产教融合:模式构建与实践路径探索
- 中医药健康知识讲座课件
- XXX学校教辅材料选用方案范文
- 检验检测机构数字化应用指南-
- 2025年“安康杯”安全知识竞赛题库(含答案)
- 海龟汤题目和答案(100题)
- 门窗员工劳动合同协议书
- 胃息肉个案护理
- 登销记以及运统46系统运用21课件
评论
0/150
提交评论