重庆邮电大学软件工程学院
首页>> 本科生教育>> 课程设置>> 正文>>

《程序设计(2)面向对象》教学大纲

一.课程编号:130511

二.课程类型:必修课

课程学时:48学时/3学分

适用专业:软件工程、英语+软件、日语+软件、软件工程卓越工程师班

先修课程:程序设计(1)面向过程

三.课程概述

《编程基础(2)面向对象》是软件专业学生的一门必修课程,主要讲授C++程序设计基础上面向对象程序设计的方法。目的是让学生通过学习能够运用C++语言的基本要素,进行基本的面向对象程序设计。学习者在学习过程逐步掌握C++的面向对象的功能,从而掌握面向对象程序设计的基本知识和基本技能。为后续课程的学习奠定坚实的程序设计基础。

本课程的主要任务是使学生熟悉面向对象思想、掌握程序设计方法以及把握C++程序设计的灵魂。目的是使学生掌握一门高级程序设计语言,理解程序运行的原理,了解面向对象程序设计的基本概念与方法,进而学会利用C++语言学会解决一般应用问题。同时培养学生运用相关知识解决实际问题的能力。是实践性较强的课程。

考试形式:在“程序设计自主教学与学习平台”进行上机考试,闭卷。

四.课程内容及学时

序号

周次

授课内容摘要

(含授课内容,参考书,自学提纲,学习方法等)

课内

学时

重点及要求

课外

作业

1

1

11.1从结构到类;

11.3定义成员函数;

11.4调用成员函数

4

了解封装的概念;掌握类的声明和定义;掌握成员函数的声明和定义;掌握访问成员函数的方法。

实验例ch11_1、ch11_2、ch11_3、ch11_4。

在线题

库第11章习题

2

3

11.5保护成员;

11.6屏蔽类的内部实现;

11.7再论程序结构;

12.1类与对象;

12.2~12.3构造函数;

12.4析构函数;

12.5带参数的构造函数;

4

理解封装的概念;理解保护数据屏蔽外部访问的原理;理解类与对象的区别;掌握构造函数、析构函数的定义。

实验例ch11_5、ch11_6、ch12_1、ch12_2、ch12_3、ch12_4、ch12_5。

在线题

库第11章习题

3

4

12.6重载构造函数;

12.7默认构造函数;

12.8类成员初始化;

12.9构造类成员;

12.10构造对象的顺序

4

理解构造函数的使用和重载方法;理解默认构造函数的意义;掌握类成员的初始化方法;掌握构造对象的顺序关系。

实验例ch12_6、ch12_7、ch12_8、ch12_9、ch12_10、ch12_11、ch12_12、ch12_13、ch12_14、ch12_15。

在线题

库第12章习题

4

5

13.1~13.3抽象和分类;

13.4~13.9面向对象方法实现Josephus问题

4

了解结构化编程、面向对象编程方法及两者的区别;理解抽象、分类的思想;掌握简单的面向对象程序设计。

实验例jose3、jose4、jose5。

在线题

库第13章习题

5

6

14.1~14.3堆空间的分配与释放;

14.4~14.5拷贝构造函数的定义、使用;

14.6深拷贝、浅拷贝;

4

掌握new和delete操作;

理解从堆中分配和释放对象;

理解拷贝构造函数,区分深拷贝和浅拷贝。

实验例ch14_1、ch14_2、ch14_3、ch14_4。

在线题

库第14章习题

6

7

15.1~15.4静态成员的定义、使用;

15.5~15.6友元的定义、使用

4

掌握静态数据成员、静态成员函数的使用;理解友元的概念;掌握友元的定义、使用。

实验例ch15_1、ch15_2、ch15_3、ch15_4、ch15_5、ch15_6、ch15_7。

在线题

库第15章习题

7

8

16.1继承的概念;

16.2继承的工作方式;

16.3派生类的构造;

16.4继承与组合

16.5~16.7多态的概念、工作方式;

16.8~16.9虚函数

4

了解软件重用性,理解继承的概念;掌握继承的工作方式;掌握通过继承建立新类的方法;解多态的意义,掌握多态的工作原理;理解虚函数的定义、使用。

实验例ch16_1、ch16_2、ch16_3、ch16_4、ch16_5。

在线题

库第16章习题

8

9

16.10~16.12类的分解;

16.13~16.14抽象类;

16.15纯虚函数

4

掌握抽象类的概念;理解抽象类和具体类的区别;掌握纯虚函数的使用。

实验例Savings类、Checking类。

在线题

库第16章习题

9

10

17.1~17.4多继承和虚拟继承;

17.5~17.6继承的访问控制

4

掌握多继承和虚拟继承的概念;理解多继承的构造顺序;掌握不同继承的访问控制权限。

实验例ch17_1、ch17_2、ch17_3、ch17_4、ch17_5。

在线题

库第17章习题

10

11

18.1~18.4运算符重载

4

理解重载运算符的目的;掌握运算符的重载方法。

实验例ch18_1、ch18_2、ch18_3。

在线题

库第18章习题

11

12

19.2~ 19.4I/O标准流类、文件流类和串流类;

19.7重载插入运算符;

19.9文件操作

20.1~20.3函数模板;

4

理解I/O流类、文件流类、串流类的层次结构;

掌握I/O成员函数的使用;掌握文件的操作;理解模板的作用;了解函数模版的定义和使用。

实验例ch19_1、ch19_2、ch20_1。

在线题

库第19章习题

12

13

20.5~20.6类模板;

21.1~21.5异常的实现、规则、使用;

21.6~21.7异常处理机制

4

了解类模板的定义和使用;理解异常处理机制;掌握try、throw、catch语句的使用。

实验例单链表类模板、ch20_3、jose6、ch21_1、ch21_2。

在线题

库第20、21章习题

五.教材及参考书

1. C++程序设计教程(修订版)-设计思想与实现,清华大学出版社

2.刘锐宁,梁水,宋坤. Visual C++开发技术大全[M].人民邮电出版社, 2009.