1、二、教学内容与课时分配第一章 绪论(2学时)教学内容:1、面向对象程序设计的基本思想及基本概念;2、面向对象语言的分类和C+中支持面向对象的特点;3、面向对象的软件开发环境;4、C+开发工具的主要功能和使用方法;重点:难点:1、面向对象语言的分类和C+中支持面向对象的特点;建议教学方法:课堂讲授思考题:1、面向对象程序设计的基本思想是什么?2、C语言支持哪些面向对象特点?第二章 面向对象程序设计方法导论(2学时)1、类、对象、实例的概念;2、封装、继承、多态等概念;3、面向对象模型的基本情况;4、面向对象软件分析、设计、实现的基本方向;5、程序设计风格并在实验中运用;1、封装、继承、多态等概念
2、;1、什么是封装?什么是继承?什么是多态性?第三章 C+对C语言的常规性能扩充(4学时)1、用cin,cout,cerr,进行基本输入输出;2、C+中变量定义的方法及其与C语言中的区别;3、作用域限定符的用法;4、C、C+语言中变量的作用域、生存期的概念;5、枚举类型的用法;6、枚举变量的存储及其输入输出;7、C+中struct与C语言中的不同;8、const的用处和用法;9、函数形式的类型转换与C语言中类型转换的不同;10、引用的语法形式;11、引用参数的用法;12、函数参数的传址和传值方式及其区别;13、引用返回值与左值概念;14、函数原型的写法、作用;15、new和delete的用处和写
3、法;16、动态内存分配与指针;2、作用域限定符的用法;3、函数定义;4、new和delete的用处和写法;5、动态内存分配与指针;1、函数定义;2、new和delete的用处和写法;3、动态内存分配与指针;1、new和delete使用时应注意哪些原则?2、什么是动态分配内存?在C+中如何实现?第四章 类和对象(8学时)1、类定义的方法和存取级别;2、结构作为类的定义的方法与class的区别;3、类的成员变量和成员函数的定义和使用,以及对象的定义;4、友元函数和友元类;5、构造函数和析构函数;6、构造函数和析构函数的调用及其次序;7、拷贝构造函数的调用;8、静态类成员变量和成员函数的定义和使用方
4、法;9、内联成员函数的定义和使用方法;10、嵌套类与局部类的定义;11、在函数中对象传递的机制;1、类定义的方法和存取级别作用域限定符的用法;2、构造函数和析构函数;3、构造函数和析构函数的调用及其次序;4、嵌套类与局部类的定义;5、在函数中对象传递的机制;1、构造函数和析构函数的调用及其次序;2、拷贝构造函数的调用;1、构造函数和析构函数的作用是什么?2、类成员有哪些存取级别?特点如何?3、构造函数和析构函数的调用次序是怎样的规则?第五章 多态性和重载(6学时)1、成员函数重载;2、运算符重载的概念;3、使用friend重载运算符的方法;4、成员形式和友元形式下一元和二元运算符重载的差别;5
5、、数组重载运算符new和delete的定义;6、定义重载某些特殊的运算符的方法,包括重载、重载()、重载-等;3、定义重载某些特殊的运算符的方法,包括重载、重载()、重载-2、运算符重载;1、什么是重载?2、函数重载有哪些原则?3、如何实现数组重载运算符new和delete?第六章 继承性与派生类(6学时)1、类层次的概念及如何将概念和实现转变为类的层次的方法;2、单继承的定义;3、不同派生方式下成员存取控制的变化;4、向基类构造函数传递参数的方法;5、多继承的定义;6、虚基类和二义性问题;1、不同派生方式下成员存取控制的变化;2、向基类构造函数传递参数的方法;1、C+中继承的语法是怎样规定的
6、?2、不同派生方式下成员存取控制有何变化?3、如何向基类构造函数传递参数?第七章 运行时的多态性和虚函数(6学时)1、虚函数和纯虚函数的概念;2、虚函数的用法;3、虚析构函数的意义;4、抽象类的概念;5、早期和后期联编的概念;3、抽象类的概念;4、早期和后期联编的概念;1、虚函数的用法;2、抽象类的概念;3、早期和后期联编的概念;1、什么是虚函数?如何定义虚函数?2、什么是抽象类?3、在什么场合中使用抽象类?4、什么是早期联编?什么是后期联编?第八章 泛型程序设计和模板(6学时)1、泛型程序设计的意义;2、模板函数的用法;3、类模板的定义方法;4、多参数的模板设计;1、模板函数的用法;2、类模
7、板的定义方法;1、什么是模板?2、如何定义函数模板?3、如何定义类模板?第九章 C+的I/O系统(8学时)教学内容:1、C+的流,包括C+的预定义流;2、格式化I/O的定义格式和定义方法;3、创建重载运算符的方法;4、创建无参数操纵符和带参数操纵符的方法;5、一般I/O流和文件流的关系;6、文件与文件流的关系;7、文件系统的概念,包括文件指针和关于文件的操作;8、文件类的定义和相关操作的定义、使用方法;9、利用常用函数进行文件的打开、关闭、读写、定位等操作;1、C+的流;4、文件与文件流的关系;5、文件系统的概念;6、文件类的定义和相关操作的定义、使用方法;1、创建重载运算符2、文件系统的概念
8、;3、文件类的定义和相关操作的定义、使用方法;1、什么是流?2、重载运算符应该注意哪些原则?3、对文件的读写有哪些方式?4、如何控制二进制文件?第十章 面向对象的软件构造及程序设计风范(4学时)教学内容1 、软件质量2、程序断言机制3、异常处理机制4、 面向对象的软件构造1、异常处理机制;2、面向对象的软件构造;1、什么是异常?2、C中如何处理异常?3、面向对象的软件构造有哪些原则?三、考核方式和要求考核方式:闭卷考核要求:考核内容应包括基本概念题、程序代码分析题(形式为程序填空和程序阅读等)和程序设计题等。成绩核算:平时作业占总成绩的15%,实验成绩占总成绩的15%,理论考试根据教学大纲命题
9、,占总成绩的70%。第二部分:实验教学部分1、本门课程实验的性质任务、目的与要求本课程是一门理论联系实际,实践性较强的课程,上机时数较多(开设验证性实验23个,综合、设计性实验45个)。学生通过本课程的实验锻炼,应达到具有基本C+程序设计能力和基本调试能力,并具有编写面相对象程序设计的方法、思路和设计调试能力。2、本门课程实验项目设置情况序号实验名称学时必开选开实验类型验证基本操作综合设计应用创新内容提要 1Visual C+的开发环境认识2必用Visual C+的程序向导建立一个简单的Windows程序并调试通过。C+中的对C语言的常规扩充(1)编写一个完整的C+程序,并调试通过。3C+中的
10、对C语言的常规扩充(2)将原来C语言编写的程序改写成一个C+程序,并调试通过。类与对象设计一个类并写一测试程序建立该类的对象并调试。5多态性和重载为自定义的类编写恰当的运算符重载并测试通过。6继承性与派生类将自定义的类进行派生,研究其各种函数的调用。7运行时的多态性和虚函数在自定义的类中增加虚函数测试其运行情况。8泛型程序设计和模板编写一个函数模板和类模板并调试通过。9C+的I/O系统在自定义的类中增加流输入输出功能并编写一程序测试该类对文件流的操作。10C+的发展和应用利用STL类库编写一个简单的程序调试通过。二、各实验项目教学要求实验一 Visual C+的开发环境的认识(一)实验目的:熟
11、悉Visual C+的开发环境。(二)实验内容: 利用Visual C+的程序向导建立一个简单的基于MFC类库的Windows程序并调试通过。(三)主要仪器设备及其配套数:计算机 每人一套(四)所在实验室:计算机实验室实验二 C+中的对C语言的常规扩充(1)掌握C+语言中扩充部分。实验三 C+中的对C语言的常规扩充(2)实验四 类与对象掌握类的定义。定义一个类并写一测试程序建立该类的对象并调试。实验五 多态性和重载掌握成员函数和运算符的重载。实验六 继承性与派生类掌握继承性与派生类实验七 运行时的多态性和虚函数掌握运行时的多态性和虚函数的概念。实验八 泛型程序设计和模板掌握泛型程序设计和模板。
12、实验九 C+的I/O系统掌握C+的I/O系统。在自定义的类中增加流输入输出功能并编写一程序测试该类对件流的操作。实验十 C+的发展和应用了解C+的发展和应用。 利用STL类库编写一个简单的程序调试通过。三、考核方式和成绩评定要求本课程实验的考核方式以每次上机实验的完成情况、实验报告的质量为主结合平日成绩进行综合评定第三部分:建议使用的教材和参考书目1 面向对象程序设计基础,李师贤等编著,高等教育出版社,1998. 2 面向对象程序设计,刘正林主编,华中科技大学出版社,2001. 3 C+大学教程,Harvey M.Detitel,Paul Jmes Deitel著,邱仲潘等译,电子工业出版社,2002.