《面向对象程序设计(C++)》
课程教学大纲
山东财经大学燕山学院数据科学与计算机学院
2024年3月
《面向对象程序设计(C++)》课程教学大纲
课程中文名称:面向对象程序设计(C++)
课程英文名称:Object-Oriented Programming (C++)
课程代码:05110028
学 时 数: 64学时
学 分 数:3
先修课程: C语言程序设计
适用专业:计算机科学与技术专业,人工智能专业
一、课程的性质和任务
1.课程性质
该课程是计算机科学与技术相关专业的一门程序设计专业课,通过该课程的学习,使学生掌握C++面向对象编程的基本内容,提高学生的程序设计能力。
2.课程任务
通过本课程的理论学习与实践,使学生掌握面向对象程序的基本概念、特点、结构、原理及设计方法,能够阅读相关应用程序,了解面向对象程序的编程方法,编写一些C++应用程序。课程主要内容包括程序设计基础知识、类与对象的基本概念、继承与多态、输入输出流等。
二、本课程与其他课程的联系与分工
先修课程:C语言程序设计
三、课程教学内容
第1章 绪论
教学目的与要求:
1.了解计算机编程语言的发展历程
2.理解信息的存储与表示
3.掌握程序的开发过程
教学重点与难点:
重点:C++程序的结构、输出语句
难点:信息的存储与表示
1.1 计算机程序设计语言的发展
1.2 面向对象的方法
1.3 面向对象的软件开发
1.4 信息的表示与存储
1.5 程序开发的基本概念
第2章 C++语言简单程序设计
教学目的与要求:
1.了解C++语言特点
2.理解C++的数据类型、C++输入、输出
3.掌握算法的基本控制结构
教学重点与难点:
重点:基本数据类型的使用
难点:算法的基本控制结构实现
2.1 C++语言概述
2.2 基本数据类型和表达式
2.3 数据的输入与输出
2.4 算法的基本控制结构
2.5 自定义数据类型
第3章 函数
教学目的与要求:
了解函数的基本概念、作用
理解函数的定义格式
掌握函数的实现
教学重点与难点:
重点:函数的定义与调用
难点:函数参数
3.1 函数的声明和调用
3.2 函数间的参数传递
3.3 内联函数
3.4 带默认形参值的函数
3.5 函数重载
3.6 C++系统函数
第4章 类与对象
教学目的与要求:
1. 了解面向对象的基本概念
2. 理解类与对象之间的关系
3. 掌握类与对象的设计与实现
教学重点与难点:
重点:类、对象的设计与实现、构造函数
难点:类组合
4.1 面向对象的思想
4.2 OOP的基本特点
4.3 类概念和声明
4.4 对象
4.5 构造函数
4.6 析构函数
4.7 内联成员函数
4.8 拷贝构造函数
4.9 类的组合
第5章 数据的共享与保护
教学目的与要求:
了解作用域与可见性的概念
理解对象的生存期
掌握静态成员的使用
教学重点与难点:
重点:静态成员、友元的实现
难点:静态数据成员的使用特点
5.1 标示符的作用域与可见性
5.2 对象的生存期
5.3 数据与函数
5.4 静态成员
5.5 共享数据的保护
5.6 友元
第6章 数组、指针与字符串
教学目的与要求:
1. 了解动态内存分配
2. 理解指针的使用特点
3. 掌握指针作函数参数
教学重点与难点:
重点: 指针、数组的实现
难点: 指针做函数参数
6.1 数组
6.2 指针
6.3 动态存储分配
6.4 指针与数组
6.5 指针与函数
6.6 字符串
第7章 继承与派生
教学目的与要求:
1. 了解继承的作用
2. 理解类成员的访问控制
3. 掌握继承的实现
教学重点与难点:
重点:继承的实现
难点:派生类的构造函数
7.1类的继承
7.1 类成员的访问控制
7.3 单继承与多继承
7.4 派生类的构造、析构函数
7.5 类成员的标识与访问
第8章 多态性
教学目的与要求:
1.了解多态的概念
2.理解抽象类的的意义
3.掌握运算符重载的实现
教学重点与难点:
重点:运算符重载、抽象类
难点:虚函数与纯虚函数的特点
8.1 多态性
8.2 运算符重载
8.3 虚函数
8.4 纯虚函数
8.5 抽象类
第9章 流类库与输入/输出
教学目的与要求:
了解流的基本概念
理解输入输出流类
3. 掌握文件的保存与打开
教学重点与难点:
重点:文件的保存与打开
难点:文件指针的理解
9.1 I/O流的概念
9.2 输出流
9.3 输入流
9.4 输入/输出流
四、学时分配表
章 次 |
章 名 |
实验名称 |
学时分配 |
备 注 |
理论 |
实践 |
第1章 |
绪论 |
上机实践:实习Visual C++开发环境,练习输出语句。 |
2 |
2 |
|
第2章 |
C++语言简单程序设计 |
上机实践:选择结构、循环结构编程 |
4 |
4 |
|
第3章 |
函数 |
上机实践:函数的定义、调用、函数参数等编程 |
4 |
4 |
|
第4章 |
类与对象 |
上机实践: 设计圆的类,输出面积周长;编程练习组合类 |
6 |
6 |
|
第5章 |
数据的共享与保护 |
上机实践: 静态成员的编程 |
4 |
4 |
|
第6章 |
数组、指针与字符串 |
上机实践:指针与数组的综合应用 |
4 |
4 |
|
第7章 |
继承与派生 |
上机实践: 继承的实现,继承圆的类,实现圆柱体的类 |
4 |
4 |
|
第8章 |
多态性 |
上机实践: 实现运算符重载 |
2 |
2 |
|
第9章 |
流类库与输入/输出 |
上机实践: 文件的保存与打开 复习考试 |
2 |
2 |
|
合 计 |
32 |
32 |
|
五、课程教学基本要求
教学环节包括:课堂讲授与上机实践、习题课、课外作业。通过本课程各个教学环节可以培养学生的自学能力、动手能力、分析解决问题的能力。
1.课堂讲授与实践
教学方法上尽量采用启发式、讨论式教学,安排一些自学内容,鼓励学生自学,培养学生的自学能力。结合实际问题,更新教学内容,改进教学方法,通过上机实践,培养学生的动手能力和创新能力。
2.习题课
习题课:根据教学需要,要适当安排习题课、课外习题。
3.考核
采取期末考试和平时考核相结合的方式。
期末考试:闭卷考试,满分100分。
平时考核:课后作业与考勤(15分)+上机实践(15分)。
课程学习成绩:期末闭卷考试成绩*70%+平时成绩*30%。
六、建议教材及主要参考资料
建议教材
《C++语言程序设计(第5版)》,郑莉,董渊,清华大学出版社,2020年
主要参考资料
《C++语言程序设计》,宁涛,清华大学出版社,2019年
七、课程成绩考核
课程成绩考核包括平时考核和期末考核。平时考核包括:出勤、课堂讨论及展示、回答问题、课外作业、平时测验等。期末考核采取闭卷考试。平时考核成绩占总成绩的30%,期末考核成绩占总成绩的70%。具体考核内容及所占比例,详见下表。
考核内容 |
占总成绩的比例 |
平时考核 |
作业 |
15 |
考勤 |
15 |
期末考核 |
闭卷考试 |
70 |
大纲制(修)订人:戚尚菊
大纲审定人:
日 期:2024年3月11日