还剩3页未读,继续阅读
文本内容:
《面向对象程序设计》教学大纲C++
一、课程基本信息中文名称面相对象程序设计C++英文名称Object-oriented Programmingand C++课程编号C0M03262C课程类别专业基础选修适用专业计算机科学与技术、软件工程开课时间第三学期总学时64总学分4预修课程C语言程序设计(C0M03250T)制定(修订)人审核人教学院长制定(修订)单位信息科学与技术学院软件工程教研室制定(修订)时间2020年7月
二、课程目标面向对象程序设计C++是软件工程专业的一门专业基础课,通过该课程的学习,学生逐步掌握C++的面向对象的功能,从而掌握面向对象程序设计的基本知识和基本技能,学会利用C++语言进行一般面向对象程序的设计,解决一般应用问题,并为后续专业课程的学习奠定程序设计基础具体目的如下
1.理解面向对象程序设计思想;
2.掌握面向对象程序设计方法;
3.较强的C++编程能力,熟悉C++语言语法,精通C++类、继承、多态、泛型编程等内容;
4.较强的逻辑思维能力、解决问题、分析问题的能力、自主学习能力;
5.较强的动手实践能力;
6.良好的编程习惯和职业道德;
7.较强的创新意识,良好的团队合作精神
三、课程主要内容及学时分配
1、第一章面向对象程序设计概述支撑课程目标1,2学时【对应课程目标指标点的序号】教学要求了解传统的面向过程程序设计方法的不足,理解面向对象程序设计的编程思想,领会面向对象程序设计的基本概念,领会面向对象程序设计的优点,了解面向对象的软件开发过程教学内容1面向过程程序设计的思想和优缺点2♦面向对象程序设计的编程思想、基本概念及优点3面向对象软件开发的步骤
2、第二章C++基础知识支撑课程目标2,3,8学时教学要求了解从C语言到C++的发展历程,对简单的C++程序有整体的感性认识,掌握C++在面向过程程序设计方面对C的扩充,掌握C++的输入输出、数据类型、常变量及指针,掌握C++的引用、函数、名字空间、字符串变量、复数变量,熟悉C++程序的编写和实现流程教学内容1C++概述从C语言至IJC++,简单C++程序,C++程序的编写和实现2SC++对C语言的扩充C++的输入/输出;C++对C语言数据类型的扩展;用const定义常变量;指针;引用;函数;名字空间;字符串变量;复数变量3上机验证练习C++基础知识,熟悉C++程序的编写和实现流程
3、第三章类和对象支撑课程目标2,3,4,5,6,7,10学时教学要求正确理解类、对象及封装的概念,熟练掌握类的声明和对象的定义及使用,理解构造函数与析构函数的作用及使用,掌握对象与指针及const的特点及使用,理解并掌握对象的赋值和复制,掌握对象的动态创建和释放,理解对象作为函数的参数传递的实质,掌握基本的基于对象的程序设计与实现教学内容3♦类的声明和对象的定义类和对象的概念及关系;类的声明;对象的定义4♦类的成员函数成员函数的性质;在类外定义成员函数;inline成员函数;成员函数的存储方式5♦对象成员的访问通过对象名和成员运算符访问对象中的成员;通过指向对象的指针访问对象中的成员;通过对象的引用访问对象中的成员6♦构造函数与析构函数构造函数的定义;构造函数的特点;析构函数的定义;析构函数的特点;构造函数和析构函数的调用次序5对象数组对象数组的定义;对象数组的使用6对象指针指向对象的指针;指向对象成员的指针;♦this指针7对象与CONST常对象;常对象成员;指向对象的常指针;指向常对象的指针;对象的常引用8对象的动态创建和释放9对象的赋值和复制10向函数传递对象
4、第四章继承与派生支撑课程目标2,3,4,5,6710学时教学要求理解继承和派生的概念;掌握派生类的声明方式,派生类的构成;掌握三种不同继承方式对基类成员、派生类成员访问权限的影响;掌握派生类的构造函数和析构函数的执行时机;掌握多重继承的声明方法;多重继承派生类的构造函数与析构函数的定义及执行;理解虚基类的概念,掌握其作用和声明方法;理解组合的概念,掌握继承与派生在软件开发中的意义教学内容1继承与派生的概念7♦派生类派生类的声明方式;派生类的构成;♦派生类中基类成员的访问属性公用继承;私有继承;保护成员和保护继承;成员同名问题8♦派生类的构造函数和析构函数4多重继承声明多重继承的方法;多重继承派生类的构造函数与析构函数;多重继承引起的二义性问题;虚基类;基类与派生类对象的关系5组合
5、第五章多态性与虚函数支撑课程目标2,3,4,5,6,7,6学时教学要求理解多态性;掌握虚函数的使用教学内容1多态性多态性的定义;多态性的分类;向上类型转换;功能早绑定和晚绑定2实现功能晚绑定一一虚函数◎虚函数的定义和作用;虚析构函数;虚函数与重载函数的比较3纯虚函数和抽象类
6、第六章友元与静态成员支撑课程目标2,3,4,5,6,7,6学时教学要求了解友元函数的概念,掌握友元函数的定义与使用;了解友元类的概念,掌握友元类的定义与使用;掌握静态数据成员的定义与使用;掌握静态成员函数的定义与使用教学内容9♦封装的破坏一一友元友元函数;友元类2对象机制的破坏一一静态成员静态数据成员;静态成员函数
7、第七章运算符重载支撑课程目标2,3,4,5,6,7,6学时教学要求:理解为什么要进行运算符重载,掌握运算符重载的方法和重载运算符的规则教学内容1运算符重载概述为什么要进行运算符重载;♦运算符重载的方法;♦重载运算符的规则;运算符重载函数作为类的成员函数;运算符重载函数作为类的友元函数10♦重载双目运算符作为类的成员函数重载;作为类的友元函数重载11♦重载单目运算符作为类的成员函数重载;作为类的友元函数重载123重载流插入运算符和流提取运算符重载流插入运算符;重载流提取运算符5不同类型数据间的转换系统预定义类型间的转换;转换构造函数;类型转换函数
8、第八章泛型编程(支撑课程目标2,3,4,5,6,7,6学时)教学要求了解函数模板的概念,掌握函数模板的定义与使用;了解类模板的概念,掌握类模板的定义与使用;了解STL有关内容教学内容
(1)♦函数模板函数模板的定义;函数模板的实例化;模板参数;函数模板重载
(2)◎类模板类模板的定义;类模板的实例化;类模板参数
(3)STL简介容器;迭代器(iterator);算法
9、第九章输入输出流(支撑课程目标2,3,4,5,6,7,4学时)教学要求了解C++输入/输出流库;掌握预定义类型数据的输入和输出、格式控制、自定义类型数据的输入和输出以及文件的输入和输出等内容教学内容
(1)C++的标准输入/输出流iostream类库中有关的类及其定义的流对象;C++的标准输出流;C++的标准输入流
(2)SC++格式输入/输出用ios类提供的格式化函数控制输入/输出格式;用控制符控制输入/输出格式
(3)文件操作与文件流文件的概念;文件流类及其流对象;文件的打开与关闭;对文本文件的操作;对二进制文件的操作;随机访问二进制文件
10、第十章异常处理(支撑课程目标2,3,4,5,6,7,4学时)教学要求掌握了C++异常处理的机制,可以在编制程序时灵活地加以运用教学内容
(1)异常处理的概念及C++异常处理的基本思想
(2)
⑥异常处理的实现异常处理语句;在函数声明中进行异常情况指定;析构函数与异常
11、综合项目练习(支撑课程目标1,2,3,4,5,672学时)
四、教学组织与方法
1、教学方法教师讲解、引导、演示+学生讨论、练习
2、课堂上以教师讲解、引导、演示为主,上机以学生讨论、练习为主
3、通过上机题目、综合项目的设计和练习培养学生实际编程的能力
五、成绩考核与评定考核/评价环分值(或百分成绩组成考核/评价细则节比)考勤10%缺勤一次扣2分,扣完为止作业少交一次或抄袭或被抄袭,扣2分,作业10%平时成绩扣完为止期中10%期中测验成绩上机项目20%综合项目演示和完成情况考试成绩期末50%开卷
六、推荐教材和教学参考书目与文献推荐教材
[1]邵兰洁等.C++面向对象程序设计第2版[M].北京清华大学出版社,
2020.参考书目与文献⑴邵兰洁等.C++面向对象程序设计习题解答与上机指导第2版[M].北京清华大学出版社,
2020.⑵[美]贝赫鲁兹•A.佛罗赞Behrouz A.Forouzan,理查德•F.吉尔伯格Richard F.Gilberg著,江红,余青松等译.C++面向对象程序设计[M].北京机械工业出版社,
2020.⑶[美]Stanley B.Lippman等著,王刚,杨巨峰译.C++Primer中文版.第5版.北京电子工业出版社,
2013.。
个人认证
优秀文档
获得点赞 0