




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
类与对象【学习要点】1掌握面向过程程序设计的基本思想。2掌握面向对象程序设计的基本思想。3掌握面向对象程序设计的特点抽象性、封装性、继承性、多态性4掌握类的概念和定义方法。5掌握类成员的访问属性。6掌握对象的概念和定义方法。7掌握对象成员的引用。-【例题分析】1下面程序段中的错误有几处?class A int a = 1 ;int b ; A a , b ;【答案】2【解析】在类中不允许初始化成员数据。类定义的结束处要加分号。2下面程序中的错误有几处?# include class Time int hour , minite , second ;public :void print() ;void set ( int h , int m , int s ) ;void print( ) cout hour : minite : second endl ; void Time : set ( int h , int m , int s ) hour = h ; minite = m ; second = s ; ;void main() Time a ;a.set( 5 , 10 , 20 ) ;a. print() ;cout a.hour : a.minite : a.second endl ;【答案】2【解析】在类外定义成员函数,应在成员函数名前加 “ 类名: ” 。在 private 后面声明的成员数据和成员函数,只允许本类中的成员函数访问,而任何类外的函数均不能访问。若在类体的起始处声明私有成员,关键字 private 可以省略不写。-【思考题】选择题1以下有关类的描述,不正确的是_。A类是一种用户自定义的数据类型B只有本类中的成员函数才能引用本类中的私有数据C在类中,若不作权限说明,成员数据为私有类型D在类中,若不作权限说明,成员函数为公有类型【答案】? D2以下有关对象的描述,不正确的是_。A对象是类的一个实例B任何一个对象只能属于一个某个具体的类C一个类只能有一个对象D类和对象的关系与数据类型和变量的关系相似【答案】? C3以下有关成员函数的描述,不正确的是_。A成员函数一定是内联函数B成员函数可以重载C成员函数可以设置参数默认值D成员函数可以是私有的【答案】? A4面向对象程序设计的核心是类和对象,而类=_。A数据 + 对数据操作的函数B对象 + 对象 + + 对象C算法 + 数据结构D对象 + 算法【答案】? A5C+是_。A面向对象的程序设计语言B结构化的程序设计语言C既是面向对象的程序设计语言,又是结构化的程序设计语言D非结构化的程序设计语言【答案】? C6以下有关对象的描述,不正确的是_。A对象只能描述有形的东西B对象具有属性和行为(服务)两个主要因素C现实世界中的一切事物(问题)都可以看作对象D对象的属性是其静态特征,对象的行为是其动态特征,对象的属性只能由本对象的行为来操作【答案】? A7以下有关类与对象的描述,不正确的是_。A类是对象的类,对象是类的对象B系统不为类分配内存空间,但为对象分配内存空间C对象是类的抽象描述D类可以看作数据类型,对象可以看作类类型的变量【答案】? C8类的封装性体现在用户只能通过公共接口来使用类中私有的成员数据,这里的“公共接口”指的是_。A类中所有的成员函数B构造函数C类中公有成员函数D类外函数【答案】? C9以下有关类的描述,正确的是_。A在程序执行时,C+为类的对象分配存储空间B只有在定义了类的对象后,C+才给类分配存储空间C一个类的所有对象(实例)共享同一块内存区域D在程序执行时,C+为类分配存储空间【答案】? A-填空题1 类中允许指定的三种访问权限是:_、_、_。【答案】? private【答案】? public【答案】? protected2 类中成员默认的访问权限是:_。【答案】? private3类中定义的_、_访问权限的成员数据不能被类外的普通函数引用。【答案】? private【答案】? protected-编程题1 编写程序:存放在myDate.cpp文件中,包含内容如下:定义日期类Date。私有成员数据有:存放年、月、日值的year、month、day。公有成员函数有:可设置日期的成员函数void set( int y , int m , int d ) ;可进行加1天操作的成员函数void add( ) ;可按 “2008/12/12” 格式输出的成员函数void show( )。编写main()函数去测试Date类。编写程序如下:【答案】? #include #include using namespace std;#define cout foutofstream fout(output.txt);int Emonth13=0,31,28,31,30,31,30,31,31,30,31,30,31;bool leapyear(int yy) if ( (yy%4=0 & yy%100!=0) | (yy%400=0) ) return true; return false;class Date int year,month,day; public: void set(int y,int m,int d) year=y; month=m; day=d; void add() if (leapyear(year) Emonth2=29;else Emonth2=28;if (day+1Emonthmonth) day=1; if (month+112) year+; month=1; else month+;else day+; void show() coutyear/month/dayabc;n.set(a,b,c);for (int i=1;i=367;i+) n.show(); n.add();return 0;2(选做)编写程序:将第1题的程序分离成:Date类声明,存放在Date.h头文件中。Date类成员函数的类外定义,存放在Date.cpp文件中,并单独编译产生Date.obj文件。main()主函数,存放在myDate.cpp文件中,并单独编译产生myDate.obj文件。将整个程序组织成多文件结构,然后连接运行。注意:两个cpp文件中都需要包含类声明的头文件Date.h。编写程序如下:【答案】? /myDate.cpp#include #include Date.husing namespace std;int main()Date n;int a,b,c;cinabc;n.set(a,b,c);for (int i=1;i=367;i+) n.show(); n.add();return 0;/Date.hclass Date int year,month,day; public: void set(int y,int m,int d); void add(); void show();/Date.cpp#include Date.h#include using namespace std;int Emonth13=0,31,28,31,30,31,30,31,31,30,31,30,31;bool leapyear(int yy) if ( (yy%4=0 & yy%100!=0) | (yy%400=0) ) return true; return false;void Date:set(int y,int m,int d) year=y; month=m; day=d; void Date:add() if (leapyear(year) Emonth2=29;else Emonth2=28;if (day+1Emonthmonth) day=1; if (month+112) year+; month=1; else month+;else day+; void Date:show() std:coutyear/month/daystd:endl; 3编写程序:存放在myStudent.cpp文件中,包含内容如下:定义学生类Student。私有成员数据有:存放学号、姓名、成绩值的id、name、score。公有成员函数有:可键盘输入学生资料的成员函数void input( ) ;可按 “学号=04081111 姓名=张小笑 成绩=99” 格式输出的成员函数void output( )。编写main()函数去测试Student类。编写程序如下:【答案】? #include using namespace std;class Student int stuid,score; char name10; public: void input() cinstuidnamescore; void output() cout学号=stuid 姓名=name 成绩=scoren; for (int i=1;i=n;i+) stui.input(); for (int i=1;i=n;i+) stui.output();return 0;4(选做)编写程序:将第3题的程序分离成:Stude
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版员工雇佣合同范本
- 2025甘肃金昌市市直和县直教育系统引进高层次和急需紧缺人才招聘35人(第二批)考前自测高频考点模拟试题及完整答案详解1套
- 2025江苏金灌投资发展集团有限公司、灌南城市发展集团有限公司招聘高层次人才10人考前自测高频考点模拟试题及一套参考答案详解
- 2025光伏发电项目合作合同
- 2025年河北邯郸馆陶县公开招聘(选聘)辅助性岗位工作人员13名模拟试卷及完整答案详解一套
- 2025年电子产品购销合同模板
- 2025年上海无固定期限劳动合同样本
- 2025广东郁南县兴华产业投资有限公司、郁南县兴瑞产业投资有限公司招聘员工6人考前自测高频考点模拟试题及答案详解(历年真题)
- 2025贵州黔南州瓮安县人力资源和社会保障局招聘公益性岗位人员1人考前自测高频考点模拟试题及答案详解(名校卷)
- 2025年枣庄山亭区人民医院公开招聘备案制专业技术人员(15人)考前自测高频考点模拟试题及答案详解(名师系列)
- 2024年武汉商学院公开招聘辅导员笔试题含答案
- 2024年国庆中秋安全教育主题班会《欢度双节 安全护航》主题安全教育【课件】
- 《编程猫系列》第1课-Hello-编程猫(课件)
- GB 16899-2011自动扶梯和自动人行道的制造与安装安全规范
- 非典型骨折课件
- 封闭区倒塌围墙修复施工方案
- 户口本翻译样本-Word范文-Word范文
- 企业融资计划书2022
- 99S203 消防水泵接合器安装图集
- 多发性大动脉炎
- 光纤损耗测试记录
评论
0/150
提交评论