《《面向对象程序设计》大纲 .docx》由会员分享,可在线阅读,更多相关《《面向对象程序设计》大纲 .docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品名师归纳总结面对对象程序设计试验教案大纲可编辑资料 - - - 欢迎下载精品名师归纳总结一、适用范畴课程编号:可编辑资料 - - - 欢迎下载精品名师归纳总结大纲适用于运算机科学与技术专业本科教案使用。二、课程名称面对对象程序设计三、学时数与学分总学时: 72总学分: 4试验学时: 20试验学分: 0.5四、教案目的和基本要求(一)目的:使同学熟识C+ 的语法特性,懂得面对对象程序设计的基本原理,包括类、对象、抽象、封装、继承和多态性等关键要素以及其关键语法特性。把握用C+ 编写面对对象程序的一般方法,培育同学创新意识和提高同学实践才能。初步把握面对对象编程环境 Visual C+ 的使用
2、,学会调试、分析和自行编写C+ 程序,能进行简洁的Windows程序设计,为将来使用或连续从事C+ 工程设计打下基础。(二)基本要求:明白和熟识Visual C+ 开发环境。学会上机调试程序,达到试验学问和理论学问的融会贯穿。上机试验前,同学必需事先依据题目的内容编好程序,然后在试验时输入程序、调试程序,直至运行结果正确为止,上机终止后,应整理出试验报告。五、试验工程与学时安排序号工程名称学时试验类型1C+程序设计初步2验证性试验2类和对象4验证性试验3运算符重载2验证性试验4继承2验证性试验5多态性和虚函数2验证性试验6输入输出流2验证性试验7反常处理2验证性试验8基于对话框的应用程序2验证
3、性试验9文档 /视图结构应用程序2综合性试验总计22六、教材、讲义及参考书(一)教材:面对对象程序设计,谭浩强,清华高校出版社.(二)教参:C+ 程序设计教程,钱能,清华高校出版社.七、试验成果评定方法考查:平常考核加期末机试。试验成果占期末总成果的30%。平常考核:占试验成果的50%,由以下两部分组成。试验预习和表现、试验报告。期末机试:占试验成果的50%。1、试验预习和表现:上机试验前,同学必需事先依据题目的内容编好程序,然后在试验时输入程序、调试程序,直至运行结果正确为止。在试验中,老师可依据同学编程操作才能、观看和分析及运用学问才能、程序编制正确性以及同学的课堂纪律、试验态度、可编辑资
4、料 - - - 欢迎下载精品名师归纳总结保持试验室卫生等方面的表现进行综合考核。2、试验报告:同学试验后应按时完成试验报告。试验报告应包括以下内容:试验目的、试验要求,试验题目、程序清单、运行结果、试验小结。3、期末机试:通过考试明白同学对基本理论把握的程度和实际水平,老师出试验考试卷目,让同学在规定的时间完成。八、试验教案大纲说明本大纲共支配 20 学时的试验,全部是必做题目。九、试验工程试验一、 C+ 程序设计初步试验目的:1. 把握重载函数的定义方法。2. 把握引用的使用方法。3. 把握 new 和 delete 的使用方法。试验内容:1. 编写一个函数,用引用的方法交换两个变量的值。2
5、. 用函数重载的方法编写重载函数,分别比较两个整型数、两个长整型数以及三个整型数的大小,并返回较大者。3. 编写一个程序,用new 运算符安排 5 个整型数的空间,从键盘读入数据存入此储备空间,然后输出到屏幕上,最终释放该储备空间。试验二、类和对象试验目的:1. 把握声明类的方法,类和类的成员的概念以及定义对象的方法。2. 初步把握用类和对象编制基于对象的程序。3. 把握类的构造函数和析构函数的概念和使用方法。4. 把握友元和静态成员的使用方法。4.学习检查和调试基于对象的程序。试验内容:1. 分别给出如下的 3 个文件:含类定义的头文件student.h, class Student pub
6、lic:void display 。private:int num。char name20。 char sex 。 。包含成员函数定义的源文件student.cpp #include #include student.husing namespace std。void Student:display coutnum:numendl。coutname:nameendl。coutsex:sexendl。可编辑资料 - - - 欢迎下载精品名师归纳总结包含主函数的源文件main.cpp。#include student.hvoid main Student stud。stud.display。请完善
7、该程序,在类中增加一个对数据成员赋初值的成员函数set_value。上机调试并运行。2. 该程序运行有问题,请改正main 函数中的错误,使该程序的输出结果如下:Constructor called. Default constructor called. Area is 6Area is 0Area is 6源程序文件清单如下:#includeusing namespace std。class RectAngleprivate:可编辑资料 - - - 欢迎下载精品名师归纳总结public: 。double ledge,sedge。RectAnglecoutDefault constructo
8、r called.n。RectAngledouble l,double sledge=l。sedge=s 。coutConstructor called.n。void Setdouble l,double sledge=l。sedge=s 。void AreacoutArea is ledge*sedgeendl。可编辑资料 - - - 欢迎下载精品名师归纳总结void main/* found */ RectAngle Rect12,3。RectAngle Rect21。可编辑资料 - - - 欢迎下载精品名师归纳总结/* found */ RectAngle Rect3 。Rect1.Ar
9、ea 。/* found */ Rect2.ledge=0 。Rect2.sedge=0 。Rect2.Area 。Rect3.Area。3. 有以下程序: #include class Date。 class Timepublic:Timeint,int,int。void displayDate &。private:int hour。 int minute。int sec。 。class Datepublic:Dateint,int,int。friend void Time displayDate &。private:int month。int day。int year。 。Time Tim
10、eint h,int m,int shour=h 。minute=m 。sec=s 。Date Dateint m,int d,int ymonth=m。day=d 。year=y 。void Time displayDate &dcoutd.month“/ ” d.day “ / ” d.yearendl。couthour “:” minute “:” secendl 。void main 可编辑资料 - - - 欢迎下载精品名师归纳总结Time t110,13,56。Date d112,25,2004。t1.displayd1。分析和运行此程序,留意友元函数Time:display的作用。
11、将程序中的display 函数不放在Time 类中,而作为类外的一般函数,然后分别在Time 和 Date 类中将 display 声明为友元函数。在主函数中调用display 函数, display 函数分别引用 Time 和 Date 两个类的对象的私有数据,输出年、月、日和时、分、秒。修改后上机调试和运行。4. 商店销售某一商品,商店每天公布统一的折扣discount。同时答应销售人员在销售时 敏捷把握售价 price,在此基础上,对一次购10 件以上者,仍可以享受9.8折优惠。现已知当天 3 名销货员的销售情形为:销货员号101num5销货件数 quantity23.5销货单价 pri
12、ce1021224.5610310021.5请编程序,运算出当日此商品的总销售款sum,以及每件商品的平均售价。要求用静态数据成员和静态成员函数。 提示:将折扣 discount、总销售款 sum 和商品销售总件数n 声明为静态数据成员,再定义静态成员函数 average 求平均售价 和 display输出结果 。试验三、运算符重载试验目的:1. 进一步明白运算符重载的概念和使用方法。2. 把握几种常用的运算符重载的方法。3. 明白在 Visual C+6.0 环境下进行运算符重载要留意的问题。试验内容:1. 声明一个复数类Complex ,重载运算符 “+”,使之能用于复数的加法运算。参与运
13、算的两个运算量可以都是类对象,也可以其中有一个是整数,次序任意。例如:c1+c2 , i+c1 , c1+i 均合法(设 i 为整数, c1, c2 为复数)。2. 有两个矩阵a 和 b,均为 2 行 3 列,求两个矩阵之和。重载运算符“+”,使之用于矩阵相加,如: c=a+b。试验四、继承试验目的:1. 明白继承在面对对象程序设计中的重要作用。2. 进一步懂得继承与派生的概念。3. 把握通过继承派生出一个新类的方法。4. 明白虚基类的作用和用法。试验内容:1. 定义基类 Student,含有私有数据成员num,name,sex,公有成员函数get_value()用于输入数据, display
14、 用于输出数据。定义派生类Student1(从基类公有继承),含有私有 数据成员age,addr,设计派生类的成员函数,使程序运行时输入num , name, sex, age,addr 的值,程序应输出以上5 个数据的值。2. 修改上面的程序,基类数据成员为爱护类型,派生类从基类爱护继承,实现输入和输出 5 个数据成员的值。3. 分别声明 Teacher(老师)类和Cadre(干部)类,采纳多重继承方式由这两个类派可编辑资料 - - - 欢迎下载精品名师归纳总结生出新类Teacher_Cadre(老师兼干部)。要求:在两个基类中都包含一部分相同名字的数据成员 name(姓名), age(年龄
15、)和成员函数display()。在 Teacher 类中仍包含数据成员 title (职称),在 Cadre 类中仍包含数据成员post(职务),在 Teacher_Cadre(老师兼干部)中仍包含数据成员wages(工资)。在派生类Teacher_Cadre 的成员函数show 中调用 Teacher 类中的 display 函数,输出姓名、年龄、职称,然后再用cout 语句输出职务与工资。试验五、多态性和虚函数试验目的:1. 明白多态性的概念。2. 明白虚函数的作用及使用方法。3. 明白静态关联和动态关联的概念和用法。4. 明白纯虚函数和抽象类的概念和用法。试验内容:1. 已有类的定义如下
16、: class Basepublic:virtual void print cout“Base”endl 。 。从 Base 类派生出两个新类BaseA、BaseB,每个类用成员函数print 来打印自己的类名。在 main 函数中创建这些类的对象及基类的指针,通过该指针来调用 print 函数。2. 写一个程序,定义抽象基类 Shape,它有三个公有派生类:类 Circle 用来描述圆形, 类 Rectangle 用来描述矩形,类 Triangle 用来描述三角形。用虚函数 area 分别运算几种图形的面积,并求它们的和。试验六、输入输出流试验目的:1. 深化懂得 C+的输入输出的含义和实现
17、方法。2. 把握标准输入输出流的应用,包括格式输入输出。3. 把握文件的输入输出操作。试验内容:1. 从键盘输入一批数值,要求保留3 位小数,在输出时上下行小数点对齐。(1) 用掌握符掌握输出格式。(2) 用流成员函数掌握输出格式。2. 建立两个磁盘文件f1.dat 和 f2.dat,编程序实现以下工作:(1) 从键盘输入 20 个整数,分别存放在两个磁盘文件中(每个文件中放10 个整数)。(2) 从 f1.dat 读入 10 个数,然后存放到f2.dat 文件原有数据的后面。(3) 从 f2.dat 中读入 20 个整数,将它们按从小到大的次序存放到f2.dat(不保留原先的数据)。试验八、
18、基于对话框的应用程序试验目的:1. 基于对话框应用的框架结构及其运行机制。2. 初步把握创建基于对话框应用程序的方法、过程。3. 把握常用控件的重要属性、主要消息、常用成员函数、并能娴熟的应用这些控件设计应用程序。试验内容:可编辑资料 - - - 欢迎下载精品名师归纳总结1. 设计一个华氏温度和摄氏温度之间转换的程序,如下列图。转换公式为:9FC325可编辑资料 - - - 欢迎下载精品名师归纳总结(摄氏转换成华氏)、C5 F932 (华氏转换成摄氏)可编辑资料 - - - 欢迎下载精品名师归纳总结2. 设计一个如下列图的应用程序。当用户重新挑选了颜色和字体后,下面编辑框的内容会相应转变。要求
19、:初始时蓝色按钮、宋体和粗体复选框处于选定状态。试验九、文档 /视图结构应用程序试验目的:1. 明白文档 / 视图应用程序的结构及其运行机制。2. 把握绘制图形的方法。3. 把握编写鼠标消息处理函数和键盘消息处理函数的技术。4. 把握定时器的使用。试验内容:可编辑资料 - - - 欢迎下载精品名师归纳总结1. 编写一个程序,用SetPixel 函数绘制2. 编写一个字幕滚动程序,如下列图:2 2之间的 cos 曲线,如下列图:可编辑资料 - - - 欢迎下载精品名师归纳总结要求:( 1)单击左键开头滚动,单击右键停止滚动。(2)文字自右向左移动,文字到顶端的距离是随机的。可编辑资料 - - - 欢迎下载