1、1C+面向 对象程序设计 课程教学大纲 课程代码:0520050课程名称:C+面向对象程序设计学 时:68学 分:4课程类型:专业基础课/必修课适用专业:计算机应用技术先修课程:程序设计基础一、 课程性质和任务本课程是计算机应用技术、数字媒体技术专业开设的专业基础课,既有较强的理论性,又有较强的实践性,重点让学生掌握基本概念和基本理论。同时,需要把理论应用于实践,为编写程序打下良好的基础。 通过本课程的学习,让学生认识到面向对象的程序设计在各专业中的地位和作用,弄清基本概念,掌握编写程序的基本理论,掌握阅读和分析简短程序的方法和技巧;熟练掌握程序设计和调试简短程序的方法和技巧;了解并初步掌握实
2、用程序的开发与调试技术,学会用所学的理论去编写程序并解决现实中的实际问题。二、 教学内容和基本要求1. C+语言概述教学内容:面向对象程序设计的有关概念、C+语言对面向对象程序设计的支持、C+语言的词法及词法规则、C+程序结构的特点、C+程序的实现基本要求:了解 C+与 C 的区别和兼容性;了解面向对象程序设计的基本特性;熟悉C+程序结构;熟悉 C+语言开发的基本过程。2. 数据类型和表达式教学内容:基本数据类型、常量和变量、数组、指针和引用、运算符、表达式、结构和联合基本要求:掌握数据类型、运算符和表达式的用法。3. 预处理和语句教学内容:预处理功能、语句、选择语 句、循环语句、转向语句2基
3、本要求:掌握各项预处理命令的功能;掌握选择、循环等流程控制语句的用法。4. 函数和作用域教学内容:函数的定义和说明、函数的调用、函数的参数、内联函数、函数重载、函数的嵌套调用和递归调用、作用域、C+语言的系统函数基本要求:掌握函数的定义、声明和调用的方法;了解函数的参数和重载的作用;理解作用域的概念;了解变量、对象和函数的作用域及生存期。5. 类和对象(一)教学内容:类的定义、对象的定义、对象的初始化、成员函数的特性、静态成员、友元、对象的生存期基本要求:理解类和对象的概念;掌握类和对象的定义方法;掌握成员的访问权限问题;掌握对象初始化的方法;理解构造函数和析构函数的作用;了解对象的生存期;了
4、解静态成员的作用,并掌握静态成员的使用方法;了解友元的作用及其使用方法。6. 类和对象(二)教学内容:对象指针和对象引用、对象数组和对象指针数、常类型、子对象和堆对象、类型转换基本要求:了解指针、引用和数组以及常类型在类和对象方面的应用,掌握使用 new和 delete 运算符对对象进行动态分配和释放的方法。7. 继承性和派生类教学内容:基类和派生类、单继承、多继承、虚基类基本要求:理解面向对象的继承性,掌握派生类的定义方法及不同继承方式下成员的访问权限;掌握单继承和多继承的基本概念以及构造方法;能够理解并解决多继承的二义性问题;理解虚基类的实质,掌握引入虚基类的方法。8. 多态性和虚函数教学
5、内容:函数重载、运算符重载、静态联编和动态联编、虚函数、纯虚函数和抽象类、虚析构函数基本要求:理解面向对象的多态性,掌握虚函数和抽象类的概念,了解运算符的重载方法。9. C+语言的 IO 流库3教学内容:屏幕输出、键盘输入、插入符和提取符的重载、格式化输入和输出、磁盘文件的输入和输出基本要求:了解输入/输出流的概念及文件和文件流的操作方法。三、 实验内容和基本要求1. 实验 1:熟悉 VC+6.0 的环境,编制简单的 C+程序并运行;掌握 C+语言的程序结构。2. 实验 2:用选择语句编写一个程序用于判断学生单科的学分积点。3. 实验 3:用循环语句编写一个程序求 1100 累加的结果。4.
6、实验 4:将加减运算封装成函数,并且重载,设计一个计算器,使得可以分别对不同类型的数据进行加减运算。5. 实验 5:定义一个学生类(属性有学号,姓名,成绩),要求输入学生的学号,姓名及三科的成绩,以输入内容来设置学生对象的属性。最后输出学生的学号,姓名及三科的平均成绩。6. 实验 6:1)在原来的学生类中,添加默认构造函数,给学生成绩设置默认值;2)重载构造函数,在创建对象的时候设置学生的初始信息;用不同的构造函数创建学生对象。7. 实验 7:1)在原来的学生类中,添加两个静态(static)数据成员总分 total 和学生人数 count;2)累加各个学生分数和累计学生人数;3)静态成员函数
7、 getTotal()用于返回总分, getAverage()用于求所有学生的平均成绩,getCount()用用于返回人数;4)在 main 函数中,依次输入 N 个学生的成绩,并调用上述函数求学生的人数,总分和平均分。8. 实验 8:1)定义一个人员类 CPerson,包括数据成员:姓名、性别、年龄和用于输入/输出的成员函数;2)在此基础上派生出学生类 CStudent(新增成员:成绩)和教师类 CTeacher(新增成员:教龄);3)实现对学生和教师信息的输入/输出。9. 实验 9:1)定义一个抽象类 CShape,包含两个纯虚函数 getArea(用来计算面积)和setData(用来重设
8、形状大小);2)派生出矩形 CRect 类、圆 CCircle 类,分别求其面积;3)定义一个 CArea 类,计算这几个形状的面积之和,各形状的数据通过 CArea类构造函数或成员函数来设置。10. 实验 10:编写程序实现,将一个文件的内容复制到另一个文件中,并将内容显示在屏幕上。4四、 教学形式和学时安排总学时 68 学时,讲授 34 学时,实践(实验或上机或其它形式教学)34 学时。表一:C+面向对象程序设计课程教学形式和学时安排教学内容 讲授 实践 小计C+语言概述 2 学时 2 学时 4 学时数据类型和表达式 2 学时 2 学时 4 学时预处理和语句 4 学时 4 学时 8 学时函
9、数和作用域 4 学时 4 学时 8 学时类和对象 8 学时 8 学时 16 学时继承性和派生类 6 学时 6 学时 12 学时多态性和虚函数 6 学时 6 学时 12 学时C+语言的 I/O 流库 2 学时 2 学时 4 学时五、 考核方式本课程为:闭卷考试各教学环节占总分的比例:平时成绩 40%,期末考试 60%六、 推荐教材与参考资料1. 推荐教材1)吕凤翥 编著,C+语言简明教程,清华大学出版社,2007 年 9 月。2. 参考资料1)谭浩强 编著, C+面向对象程序设计,清华大学出版社,2006 年 1 月。2)郑阿奇 编著,C+面向对象实用教程,电子工业出版社,2009 年 2 月。执笔人:XXXX 职业学院 XXX