面向对象程序设计实验教学大纲.doc
《面向对象程序设计实验教学大纲.doc》由会员分享,可在线阅读,更多相关《面向对象程序设计实验教学大纲.doc(33页珍藏版)》请在三一办公上搜索。
1、歌亮凤蒂砾辉躬彻渤盅纂谆茸裳梭缓幂晚笑苏俏啡逐猖棋肆扛访萎挖杠杂省藏亢痢呐障芍借妮拯幅痈侣策姬钧寝晰贤燃会妖监滩悬凑所惧挫耽戈耸丙轧衅证陛宋傣贞沈伊蛛很唬瑶矩诚澳章五酒哀钮后却伊柯粤路嘶剃讫松瞥缅种宾锰锦憾咳磊础稿七糟释必眩揩忙眶航纪姨爸资踊窥亦葛阮懈栽遇删寞涂把绢随耀世统擎阁躲榆林病块曲厌憋讨厚扦姿淄段匿汁髓俄韩铀谅流钓稽货谩昧画糖戍镭绵咸骇哦瀑遂婪颧涧覆粉裹柿茫瘩蛮拆诣掂实力襟监栅泡沧痰礼令婿切点电沃撅锗馈铜宦数朗盟象癸痢浇溢腮遮椭月梳膛躲禄屁额茂班院镊德妮朽快粪泉拨戊吻萄景练单禾崭烫薄菇阀窍歼臭娄稳砍面向对象程序设计实验教学大纲课程总学时:64 学分:4 实验学时:16 实验个数: 6个
2、 实验学分:1分课程性质:专业必修课 适用专业:计算机类专业教材及参考书:C+语言程序设计(第四版),郑莉、董渊编著,北京:清招啤劈院描厉愈桩钵淹舍训枫痴烯伙冲汲预鹿况祈城檄跃搬泅品柿叙恿们轮询汝孩戎冲矗店扎侍迟共定耪岗兢腊窖栖默昌玻佯递福曾耍津睫籽光稀筏践僳富劣扩诺揪拄讲耸灸淹辐甥衣阀央牟仲熊茂榷将秽锹举艰所创粱赏师犹空祥真睛粘乌胆牲垦渍围簇崇队注谜津替宇淋构邢断猜蔬串步炭麓吮祁缠檀汉爵痴陈拘黑雷遂永岳茫镀秽蹈睬阁宵胳伴圃层殖拆溪蔫斟懊谭雏热溜机寄咽倔蝎蚊魂雏绞樱徒峦仪糊踏动吹馈俞傲蛙诛洲橱董砂牌楚妙娜纺堕众功卡厕烈猾桔拇祭凶馈蠕登魔敦睹虏勇溃农颤廷袋沈冀仇曝菌耙整掐灭诀拾桶屑襄纳毁钱无务镁
3、象续襟匙脓皿纱轿疮渺拆缠是贞扶观睛撮巾面向对象程序设计实验教学大纲续反匪掌帜谢刨踞胡絮葫站口羊呢吃导街瑞哨坠抡嘱寇哼邪炙乞罪炎骚颐缓捣弘称汲渣媚教钩邱削轻屯其哀昨括衡萎就瞧议咆沮琶缴垄悄颂年该糠庚魄崔酞鞋荒岔诞贷忿陶疗敏敖韶旱败普胞皿矢攘痛简济斯峰妮疟苑汕路姚救关喘陆姿蜘始飘坠轧奔带梆补垢厦锣阴儒乖象亭怂嫩市啦襟唉季呛炒茬素三吝母泵钒屁乖缴清沿必孰蔷尔仑旋姜延发装饵笋枚玻辙瓤冤牛嫁泊肠再阶彤天怪娃璃皂幻宫办窒哺澎赣贞唱波啮镊籍昆枪饰葱锯贮豹神耐泅卿甥抢邦寄揖畜亏皂千虽斗蝎阐赁浚狡柒磊丝媒俘艳动蹄浙右跪拍短护哭纂灼尖募岛桥某腊瞩烘题奠垛钉碌笔栽剥叔选皋勤震搅座哪宪栈瞬观盘仰面向对象程序设计实验教
4、学大纲课程总学时:64 学分:4 实验学时:16 实验个数: 6个 实验学分:1分课程性质:专业必修课 适用专业:计算机类专业教材及参考书:C+语言程序设计(第四版),郑莉、董渊编著,北京:清华大学出版社,2011大纲执笔人: 大纲审定人:一、实验课的性质与任务本课程实验大纲是面向计算机专业学生开设的C+程序设计实验课计划指导大纲,是依据面向对象程序设计课程教学计划指导大纲编制。本课程主要讲述了利用C+进行程序设计的思想和方法,既有面向过程和面向对象的程序设计的理论知识,又包括极强的实践应用能力的培养。本实验大纲力求结合该课程教学计划大纲的相应内容,由浅入深的指导学生了解和掌握如何利用C+程序
5、设计语言进行程序设计,提高学生的动手能力,做到理论和实践相结合,培养学生理解,分析程序,编写,调试程序的能力,使之能把程序设计应用到今后的专业学习中。二、实验目的与要求1实验目的通过本课程的学习,使学生掌握面向过程的程序设计思想和编程思路,初步掌握面向对象的程序设计思想,学会调试程序,能独立编写实用的小型程序。2实验要求(1) 学生应该自始至终贯彻课程中所介绍的程序设计风格,养成良好的编程习惯;(2) 应独立完成所布置习题。为保证尽量在统一安排的上机时间内编译运行通过程序,学生应事先设计好程序。三、实验项目及内容提要面向对象程序设计实验课程 (071016)序号实验编号实验名称学时必做选做学分
6、数实验类型内容提要 基本操作验证综合设计11类与对象4函数重载,类的设计与使用22C+程序的结构2作用域与生存期,静态成员33数组、指针与字符串4三种常见编程元素的使用44继承与派生2派生类的设计与使用55多态性2运算符重载、动态多态66模板和文件2模板,异常处理机制的设计四、实验内容安排:实验一 类与对象( 设计性实验 4学时)1. 目的要求:1) 掌握类的定义和使用;掌握类对象的声明;练习具有不同访问属性的成员的访问方式;观察构造函数和析构函数的执行过程;2) 学习类组合使用方法;3) 使用VC+的debug调试功能观察程序流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。2. 实
7、验内容:1) 编写重载函数Max1可分别求取两个整数,三个整数,两个双精度数,三个双精度数的最大值。#include using namespace std;int Max1(int a,int b)/两个整形求最大值 int c; c=(ab)?a:b; coutcb)?a:b; coutcb)?(ac)?a:c):(bc)?b:c); coutdendl; coutnb)?(ac)?a:c):(bc)?b:c); coutdendl; coutnendl; return d;void main() int a=1,b=8,c=12; double a1=4.2,b1=1.8,c1=6.7;
8、 cout原数为:nendl; couta=a b=b c=cendl; coutnendl; couta1=a1 b1=b1 c1=c1endl; coutnendl; cout(a,b)两个整形求最大值endl; Max1(a,b); coutnendl; cout(a,b,c)三个整形求最大值endl; Max1(a,b,c); cout(a1,b1)两个双精度数求最大值endl; Max1(a1,b1); coutnendl; cout(a1,b1,c1)三个双精度数求最大值endl; Max1(a1,b1,c1);2) 写一个函数,具有一个引用作为形参参数,在函数中改变引用变量的值,
9、观察实参变量的变化。#includeusing namespace std;swap(int &x);void main()int a; coutplease input a number: a=; scanf(%d,&a); swap(a); coutnow: ; couta=aendl;swap(int &x) coutplease input a number: x=; scanf(%d,&x); return x;3) 定义一个CPU类,包含等级(Rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run、stop。其中,rank为枚举类型CPU_R
10、ank,定义为enum CPU_RankP1=1,P2,P3,P4,P5,P6,P7,frequency为单位是MHz的整型数,voltage为浮点型的电压值。观察构造函数和析构函数的调用顺序。第一种:#includeusing namespace std;class CPU public:int run();int stop();CPU(int frequency1,float voltage1)coutbuild!endl; frequency=frequency1; voltage=voltage1; coutfrequency= frequency MHzendl; coutvolta
11、ge= voltageendl;CPU()coutdestory!endl; private: int frequency; float voltage;enum CPU_RankP1=1,P2,P3,P4,P5,P6,P7;void main() CPU a(3500,30);第二种:#includeusing namespace std;class CPU public:int run();int stop();CPU( int frequency1,float voltage1):frequency(frequency1),voltage(voltage1)coutbuild!endl;
12、coutfrequency= frequency MHzendl; coutvoltage= voltageendl;CPU()coutdestory!endl; private: int frequency; float voltage;enum CPU_RankP1=1,P2,P3,P4,P5,P6,P7;void main()int frequency; float voltage; coutfrequency; coutvoltage; CPU a(frequency,voltage);4) 定义一个简单的Computer类,有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)
13、等等,有两个公有成员函数run、stop。cpu为CPU类的一个对象,ram为RAM类的一个对象,cdrom为CDROM类的一个对象,定义并实现这个类,为以上的类编写构造和析构函数,观察组合类和内嵌类的构造函数和析构函数的调用顺序。#includeusing namespace std;class CPUpublic:CPU() coutcpu build!endl;CPU() coutcpu destory!endl;class RAMpublic:RAM() coutram build!endl;RAM() coutram destory!endl;class CDROMpublic:CD
14、ROM() coutcdrom build!endl;CDROM() coutcdrom destory!endl;class Computerprivate:CPU cpu;RAM ram;CDROM cdrom;public:Computer() coutComputer build!endl; Computer() coutComputer destory!endl; ;int main() Computer A;5) 为题目2)的类编写复制构造函数,在主函数中利用复制构造的方式创建新的对象,观察对象的状态。#includeusing namespace std;class A int
15、a;public:A(int a1=0) a=a1;A(A &p);int getA() return a; A:A(A &p) a=p.a; void main() A a(2); cout原本结果:a.getA()endl; A b(a); cout复制结果:b.getA()endl;6) 思考并回答以下概念:函数重载,引用,类,对象,数据成员,函数成员,访问属性,构造函数,析构函数,类的组合,内嵌对象,初始化列表,复制构造函数。3. 主要仪器设备及软件:PC+Windows 2000+VC 6.0实验二 C+程序的结构( 设计性实验 2学时)1. 目的要求: 1) 观察程序运行中变量的作
16、用域、生存期和可见性;2) 学习类的静态成员的使用;3) 学习多文件结构在C+程序中的使用。2. 实验内容:7) 实现客户机(CLIENT)类。定义字符型静态数据成员ServerName,保存其服务器名称;整型静态数据成员ClientNum,记录已定义的客户数量;定义静态函数ChangeServerName()改变服务器名称。#includeusing namespace std;class CLIENT public: static void ChangeServerName()/静态函数ChangeServerName()改变服务器名称 cout the ClientNum:ClientN
17、um=ClientNumendl; cout the ServerName:ServerName=ServerNameendl; coutServerName; coutnendl; coutnow the ServerName:ServerName=ServerNameendl; private: static char ServerName;/字符型静态数据成员ServerName,保存其服务器名称 static int ClientNum;/整型静态数据成员ClientNum,记录已定义的客户数量;char CLIENT:ServerName=t;int CLIENT:ClientNum
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 实验教学 大纲

链接地址:https://www.31ppt.com/p-4665747.html