




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
甘肃农业大学信息科学技术学院教学大纲2007面向对象程序设计(C+)教学大纲(电子信息工程专业四年制本科)一、课程基本信息课程名称中文名称面向对象程序设计(C+)英文名称Object-Oriented Programming(C+)课程代码140228课程类型专业基础课程开课学期第5学期总 学 时48讲课32实验(实习)16学分3预修课程程序设计基础(C)、数据结构、离散数学二、课程性质、地位和任务面向对象程序设计(C+)是电子信息工程专业的一门专业基础课。本课程主要介绍C+语言的基本概念、基本语法和编程方法,面向对象的程序设计方法,以及Visual C+ 6集成开发环境。 通过本课程的学习学生应该熟悉和掌握Visual C+语言的面向对象的重要特征:如类、对象、继承、封装和多态性。本课程的教学任务是使学生掌握一门高级程序设计语言,使学生最终能够阅读、分析、编写C+程序。掌握面向对象程序设计的基本概念与方法,进而学会利用C+语言解决一般应用问题,为以后的学习和工作打下坚实的基础。三、课程教学基本要求通过对本课程的学习,应使学生达到下列基本要求:1了解C+语言的基本概念、基本语法和编程方法,同时重点介绍面向对象的特征;2掌握类、对象、继承、封装和多态性;3理解C+语言对C语言的扩充以及类和对象、友元、继承与派生、多态性和虚函数、C+语言的输入输出流库、异常处理、Windows编程基础和MFC编程基础、对话框和控件、菜单和文档/视图结构、图形设备接口。四、课程学时分配建议 教学时数课程内容讲 课习题课实验课小 计绪论22C+语言对C语言的扩充22类和对象628友元224继承与派生718多态性和虚函数718C+语言的输入输出流库112异常处理123Windows编程基础和MFC编程基础112(续表)对话框和控件123菜单和文档/视图结构123图形设备接口123总 计321648五、课程教学内容与教学要求(一)绪论教学内容:面向对象方法的起源,面向过程程序设计与面向对象程序设计之间的区别,面向对象的基本概念和面向对象系统的特性,面向对象的系统开发方法。教学重点:面向对象的基本概念和面向对象的系统开发方法。教学难点:面向对象系统的特性。教学要求:了解面向对象方法的起源以及结构化程序设计与面向对象程序设计之间的区别;理解面向对象的基本概念和面向对象系统的特性;掌握对象、类、消息、方法等概念;掌握抽象性、封装性、继承性和多态性的概念;了解面向对象程序设计语言的发展;了解面向对象的系统开发方法。习题与作业:1什么是面向对象程序设计?它与传统的结构化程序设计有什么不同?2面向对象程序设计语言有哪几类?3面向对象系统有哪些特性,分别加以解释?(二)C+语言对C语言的扩充教学内容:C+语言的特点,C+语言的文件扩展名,注释符,名字空间(namespace)。C+语言的输入输出。变量的定义,强制类型转换,动态内存的分配与释放,作用域运算符()的引用,const修饰符,字符串,C+语言中函数的新特性。教学重点:C+语言与C语言不同的语法规则,函数原型及内联函数的含义。教学难点:重载函数与函数模板的定义及使用方法。教学要求:了解C+语言的特点以及C+语言与C语言的不同之处;理解C+语言中函数的新特性;掌握内联函数的含义及其使用方法;掌握函数重载和函数模板的含义及其使用。习题与作业:1引用类型与指针类型有什么区别?2函数、内联函数以及宏有什么区别?3函数重载有什么好处?4模板有什么作用,函数模板和模板函数有什么区别?(三)类和对象教学内容:类,对象,构造函数和析构函数,类的聚集,对象成员,静态成员,指向类成员的指针。教学重点:类和类中成员函数的定义,对象的定义以及对象成员的访问,对象成员和静态成员的含义及使用方法。教学难点:构造函数的定义及调用,析构函数的含义及其调用方法,指向类成员的指针的使用方法。教学要求:熟练掌握类和类中成员函数的定义方法;理解对象的概念,熟练掌握对象的定义方法及对象成员的访问方法;理解构造函数的含义并掌握其定义和调用方法;理解析构函数的含义并掌握其调用方法;理解对象成员和静态成员的含义及其使用方法;掌握指向类成员的指针的使用方法。习题与作业:1为什么要引入构造函数和析构函数?2类的公有、私有和保护成员之间的区别是什么?3什么是拷贝构造函数,它何时被调用?4定义一个时间类,能提供和设置由时、分、秒组成的时间,并编写出应用程序,定义时间对象,设置时间,输出该对象提供的时间。5模拟栈模型的操作,考虑顺序栈和链栈两种形式。(四)友元教学内容:友元的概念和定义,友元函数,友元成员,友元类。教学重点:友元的概念和定义方法,友元成员和友元类的使用方法。教学难点:友元函数的定义和使用方法。教学要求:理解友元的概念和定义;熟练掌握友元函数的定义和使用方法;掌握友元成员和友元类的使用方法。习题与作业:1友元的作用是什么?2友元概念的引入虽然方便了类之间的数据共享,但是否削弱了对象的封装性?(五)继承与派生教学内容:单一继承,多重继承,虚基类,类模板。教学重点:继承与派生的概念,派生类的定义方法,类的三种继承方式,派生类的构造函数和析构函数;重继承的概念和定义方法,二义性和支配规则,赋值兼容规则的概念,虚基类的概念及其用法,多重继承的构造函数和析构函数的调用,类模板的定义方法。教学难点:派生类的定义方法,类的三种继承方式,多重继承的概念和定义方法,类模板的定义方法。教学要求:理解继承与派生的概念;熟练掌握派生类的定义方法和类的三种继承方式;掌握派生类的构造函数和析构函数的定义方法,继承与派生的概念,派生类的定义方法,公有继承、私有继承和保护继承方式下创建的派生类对基类各种成员的访问权限;掌握派生类的构造函数和析构函数的定义及调用;理解并掌握多重继承的概念及定义方法;理解二义性和支配规则,理解赋值兼容规则的概念;掌握多重继承的概念,多重继承的定义方法,掌握二义性和支配规则;理解赋值兼容规则的概念;理解并掌握虚基类的概念及用法;掌握多重继承的构造函数和析构函数的调用方法,虚基类的概念和用法;掌握多重继承的构造函数和析构函数的调用;掌握类模板的定义方法。习题与作业:1什么是类的继承和派生?2类的三种继承方式之间的区别是什么?3派生类能否直接访问基类的私有成员?若否,应如何实现?4派生类构造函数和析构函数的执行顺序是怎样的?在多重继承中,派生类构造函数和析构函数的执行顺序又是怎样的?5派生类的构造函数和析构函数的作用是什么?6多重继承一般应用在哪些场合?7在类的派生中为何引入虚基类?在含有虚基类的派生类中,当创建它的对象时,构造函数的执行顺序如何?(六)多态性和虚函数教学内容:运算符重载,虚函数,纯虚函数和抽象类,虚析构函数。教学重点:运算符重载的定义,运算符重载的规则和运算符重载的形式,用成员函数重载运算符,用友元函数重载运算符和几个常用运算符的重载方法,虚函数的定义和使用方法,虚析构函数的定义和使用方法。教学难点:用成员函数重载运算符,用友元函数重载运算符和几个常用运算符的重载方法,虚函数的定义和使用方法。教学要求:掌握运算符重载的定义,运算符重载的规则和运算符重载的形式,运算符重载的定义,运算符重载的规则,运算符重载的形式;掌握用成员函数重载运算符,用友元函数重载运算符和几个常用运算符的重载方法,用成员函数重载运算符,用友元函数重载运算符;掌握几个常用运算符的重载;理解引入虚函数的必要性,掌握虚函数的定义和使用方法;理解纯虚函数和抽象类的概念;掌握虚析构函数的定义和使用方法。习题与作业:1虚函数和重载在设计方法上有何相同和不同之处?2什么是纯虚函数,什么是抽象类,抽象类的特性是什么?(七)C+语言的输入输出流库教学内容:C+语言标准输入输出,用户自定义类型的I/O流,文件输入输出流。教学重点:C+语言格式化输入输出的方法,文件输入输出流的使用方法。教学难点:C+语言格式化输入输出的方法。教学要求:理解C+语言输入输出流库的概念;掌握C+语言格式化输入输出的方法;了解用户自定义数据类型的I/O流;掌握文件输入输出流的使用方法。习题与作业:1对于一般的输入/输出,C+的输入/输出系统如何进行格式控制?2如何对文件进行读写操作?3对数据015分别输出十进制、八进制和十六进制显示。4stu类用来描述学生的姓名、学号、数学成绩、英语成绩,分别建立文本文件和二进制文件,将若干学生的信息保存在文件中,并读出该文件的内容。(八)异常处理教学内容:异常处理概述,C+语言异常处理的实现,重新抛出异常和异常规范,C+标准库中的异常类。教学重点:C+语言中异常处理的实现方法。教学难点:C+语言中异常处理的实现方法。教学要求:理解进行异常处理的必要性;掌握C+语言中异常处理的实现方法;了解重新抛出异常和异常规范;了解C+标准库中的异常类。习题与作业:1什么是异常处理?2什么叫异常规范?VC+6.0是否支持异常规范?3什么是异常重新抛出?4定义堆栈类及其相应的成员函数,并进行异常处理。(九)Windows编程基础和MFC编程基础教学内容:Windows编程基础,MFC编程基础。教学重点:消息传递和事件驱动。教学难点:MFC编程中的相关类和常用的MFC类。教学要求:理解消息传递和事件驱动的概念;了解Windows API函数;了解MFC编程中的相关类和常用的MFC类。习题与作业:1事件驱动的特点是什么?2句柄的作用是什么,请举例说明?3简述MFC类的层次结构。4简述MFC应用程序的消息处理过程。(十)对话框和控件教学内容:对话框和控件的基本概念,使用AppWizard开发MFC应用程序,基本控件,通用对话框。教学重点:对话框和控件的基本概念,基本控件的属性和方法,通用对话框的使用方法。教学难点:通用对话框的使用方法。教学要求:理解对话框和控件的基本概念;了解使用AppWizard开发MFC应用程序的过程;掌握基本控件的属性和方法;掌握通用对话框的使用方法。习题与作业:1有模式对话框和无模式对话框有什么区别?2举例说明如何为应用程序添加代码?(十一)菜单和文档/视图结构教学内容:文档/视图的概念,文档类,视图类,菜单,菜单和文档/视图结构程序设计举例。教学重点:文档/视图的概念。教学难点:文档/视图的概念。教学要求:理解文档/视图的概念;了解文档类、视图类和菜单类。习题与作业:1什么是单文档应用程序和多文档应用程序?2文档类和视图类的常用方法有哪些?3在文档/视图结构中,文档与视图的工作机制是什么?(十二)图形设备接口教学内容:设备环境的概念和映射模式,绘制基本图形的方法,画笔和画刷的使用方法教学重点:绘制基本图形的方法,画笔和画刷的使用方法。教学难点:画笔和画刷的使用方法。教学要求:了解设备环境的概念和映射模式;掌握绘制基本图形的方法;掌握画笔和画刷的使用方法;了解字体的使用方法。习题与作业:1说明经常使用的绘制基本图形的CDC类的成员函数。2说明使用画笔、画刷和字体的步骤。六、教学环节和教学方法的说明面向对象程序设计主要采用讲授与实验相结合的方式进行,教师结合多媒体课件等教具边讲边教,有助于理解和记忆。为了加强学生记忆和理解课程内容,本课程安排有大量的实验需要在教师的指导下或独立地完成。七、课程考核要求平时的考核内容包括:考勤、课堂提问、课后作业等。期中考试:任课教师根据学生的特点,可自行组织任意形式的期中考试,百分制记分。期末考试采用闭卷考试,考试
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三基三严护理知识培训课件
- 金融行业面试必 备:海南农信面试题库深度解析与求职指导
- 内科护理(中级)题库检测试题打印(综合题)附答案详解
- 小儿视光门诊基本知识培训课件
- 初中书面表达主题分类训练10篇-环境保护
- 小儿生长发育课件讲解
- 农业开发种养殖合同范本
- KTV商标使用合同范本
- 二手停车场销售合同协议
- 与装修公司补充合同范本
- 城市轨道交通工程监测技术
- 2025年海南省财金集团有限公司招聘笔试冲刺题(带答案解析)
- 2025年新七年级数学暑假衔接 (人教版)专题05 有理数的加法和减法 (3知识点+10大题型+思维导图+过关测) (学生版)
- 2025年综合基础知识题库(含答案)
- 恙虫病疑难病例讨论记录
- 患者知情同意培训
- 骨灰管理员职业技能鉴定经典试题含答案
- 火锅店股东协议合同范本
- 村流动人口管理办法细则
- 2025年江苏省苏豪控股集团有限公司校园招聘笔试备考试题及答案详解(各地真题)
- 赋能培训管理
评论
0/150
提交评论