《C++面向对象程序设计》教学大纲
课程名称:
| C++面向对象程序设计
|
|
|
课程编号:
| 408007
| 420006
| 436007
|
适用专业:
| 计算机科学与技术
| 网络工程
| 软件工程
|
课程类别:
| 专业必修课
|
|
|
课程学分:
| 3
|
|
|
总学时:
| 60
|
|
|
其中:理论学时
| 30
|
|
|
实验学时
| 30
|
|
|
先修课程:
| C语言程序设计
|
一、课程的性质、目的与任务
本课程是计算机各专业中的一门必修课程。通过本课程学习,使学生理解面向对象的基本思想、基本概念;掌握面向对象程序设计语言的基本结构、各种语法成分的作用、语法结构及运用方式;逐步掌握C++面向对象的程序设计方法和技巧,进一步加强学生编写和调试应用程序的能力。
本课程是面向对象程序设计的基础课,主要内容包括:面向对象程序设计的方法和C++语言的基本概念,通过讲解类的抽象性、封装性、继承性和多态性等概念的运用,帮助学生开发出具有数据抽象程序高、体现信息隐藏、可复用、易修改、易扩充的模块化程序,为进一步学习后续课程和将来从事应用软件开发奠定良好的基础。
通过本课程的学习,要求了解面向对象的思想和基本概念,了解面向对象的软件开发环境和C++开发工具;对C++语言有别于C语言的各种成分有较好的理解,掌握面向对象的核心概念—类与对象;能设计合理的类,并使用继承与派生构造应用程序。
二、课程教学基本内容与要求
第一章 C++语言概述
(一)基本教学内容
1.1 C++语言的发展
1.2 C++程序概述
1.3 Visual C++ 6.0集成环境的使用
1.4 C++语言的数据类型
(二)基本要求
教学目的:了解C++出现的历史背景与特点,熟练掌握C++的基本数据类型与表达式的计算,熟练掌握C++程序的上机步骤。
教学重点:C++表达式、C++程序的上机步骤
教学难点:C++的基本数据类型与表达式、C++的特点
第五章 函数
(一)基本教学内容
5.1 结构化程序设计
5.2 函数的概念
5.3 函数调用
5.4 参数传递
5.5 函数的特殊调用
5.6 变量的作用域和生存期
5.7 函数重载
5.8 内联函数
5.9 函数模板
(二)基本要求
教学目的:正确使用系统函数;掌握并区别函数的值调用与引用调用;掌握带默认参数的函数和内联函数的定义与调用;熟练掌握重载函数的定义与调用;理解及运用函数模板的定义与调用。
教学重点:函数的定义与调用、重载函数
教学难点:模板函数
第六章 指针
(一)基本教学内容
6.1 指针和指针变量的概念
6.2 动态内存分配new和delete运算符
5.3 string类
(二)基本要求
教学目的:了解指针的作用,掌握指针的定义和使用方法;了解动态分配的特点,掌握new和delete运算符的基本用法。
教学重点:指针的定义和使用、new和delete运算符
教学难点:指针的使用、string类的应用
第七章 类和对象
(一)基本教学内容
7.1 面向对象的程序设计概述
7.2 类的定义
7.3 对象的定义和使用
7.4 构造函数和析构函数
7.5 对象成员
7.6 友元
7.7 静态成员
7.8 常类型
7.9 类的模板
7.10 使用string类处理字符串
(二)基本要求
教学目的:理解面向对象的程序设计思想和特点,理解类和对象的概念,熟练掌握类的定义和创建对象的方法;了解类的组合及其构造函数的定义方法;熟练掌握构造函数和析构函数的作用及其使用方法;理解类模板的作用,基本掌握类模板的使用方法。了解多文件的组织结构和常用的编译预处理命令;了解常类型在数据共享中的保护作用;掌握静态成员和友元的定义及其使用方法;了解string类的特点与作用,基本掌握string类使用。
教学重点:类的定义和对象创建、构造函数和析构函数,静态成员、友元
教学难点:构造函数、复制构造函数、类模板
第8章 类的继承
(一)基本教学内容
8.1 继承与派生
8.2 派生类对基类的继承方式
8.3 派生类的构造函数和析构函数
8.4 具有继承关系的类中同名成员的辨识
8.5 虚基类
8.6 指向基类和派生类的指针变量
(二)基本要求
教学目的:了解二义性问题及解决方法;了解虚基类的作用,掌握虚基类的用法;理解类的层次及实现类层次的方法;掌握单一继承的概念、特点和使用方法;熟练掌握派生类和基类中构造函数和析构函数的调用顺序;熟练掌握私有派生、公有派生和保护成员的访问权限。
教学重点:继承与派生、派生类的构造函数和析构函数、继承中基类成员的访问权限。
教学难点:派生类的构造函数和析构函数、继承中基类成员的访问权限
第9章 多态性
(一)基本教学内容
9.1 多态性的概念
9.2 虚函数
9.3 纯虚函数和抽象类
9.4 运算符重载
(二)基本要求
教学目的:了解多态性的概念及其实现方法;理解动态联编和静态联编的异同;理解运算符重载的概念,掌握运算符重载的方法;掌握虚函数和纯虚函数的概念;熟练抽象类的概念及使用方法。
教学重点:多态性、运算符重载、虚函数
教学难点:友元运算符重载、动态联编
第10章 输入/输出与异常处理
(一)基本教学内容
10.1 C++流的概念
10.2 输入/输出格式
10.3 文件的输入/输出
10.4 异常处理机制
(二)基本要求
教学目的:理解输入/输出流的概念、输入/输出流类的层次结构;掌握磁盘文件的输入与输出;掌握使用串流对字符串的输入/输出;掌握常用输入/输出成员函数的使用;熟练掌握输出格式的控制。了解异常处理机制,掌握异常处理的使用方法。
教学重点:磁盘文件的输入/输出、常用输入/输出成员函数的使用、异常处理的使用
教学难点:输出格式的控制
三、课程各章节学时分配
序号
| 内容
| 理论学时
| 实验学时
|
计科
| 网工
| 软工
| 计科
| 网工
| 软工
|
1
| C++语言概述
| 2
| 2
| 2
| 2
| 2
| 2
|
2
| 函数
| 2
| 2
| 2
| 2
| 2
| 2
|
3
| 指针
| 2
| 2
| 2
| 2
| 2
| 2
|
4
| 类和对象
| 10
| 10
| 10
| 10
| 10
| 10
|
5
| 类的继承
| 6
| 6
| 6
| 6
| 6
| 6
|
6
| 多态性
| 4
| 4
| 4
| 4
| 4
| 4
|
7
| 输入/输出与异常处理
| 4
| 4
| 4
| 4
| 4
| 4
|
合计
| 30
| 30
| 30
| 30
| 30
| 30
|
四、本课程课外学习与修学指导
该课程是程序设计基础课程,具有很强的实践性。要学好本课程,必须做到理论与实践紧密结合。要求学生多参阅相关书籍,特别是多做练习,多上机实验,掌握面向程序设计的基本原理与方法。为配合课程教学,已在学校的程序设计在线平台上开设了C++专题练习。
五、本课程考核方式及成绩评定标准
考核方式:闭卷考试
成绩评定方法:本课程的考核是平时成绩、实验成绩和期终考试成绩相结合。具体比例为:上课出勤、作业占20%,实验占20%,期末考试成绩占60%。
其中期未考试总分100分,基础题占50%,中等难度题占40%,较难题占10%。考试题型主要有:选择题、填空题、判断题、程序填空题、程序分析题、编写程序题等。
六、教材及参考书
教材:
冯博琴 主编,C++程序设计.北京:中国铁道出版社,2011
参考书:
[1] 瞿绍军 主编,C++程序设计教程.武汉:华中科技大学出版社,2010
[2] 邓飞 主编,C++程序设计.北京:中国人民大学出版社,2009
[3] 杨长兴 主编,C++程序设计.北京:中国铁道出版社,2008
[4] 揣锦华 主编,C++程序设计语言.西安:西安电子科技大学出版社,2005
[5] 薛万鹏 译,C++程序设计教程.北京:机械工业出版社,2004
[6] 吕凤煮 著,C++语言基础教程.北京:清华出版社,1999
大纲撰写人: 袁辉勇
大纲审阅人: 罗如为
教学副主任: 易叶青
编写日期:2012年6月