资源描述
面向对象程序技术(C++)教学大纲
课程名称:面向对象程序设计(C++)/ Oriented-Object Programming(C++)
学时/学分:68学时/4学分(其中课内教学48学时,实验上机20学时)
先修课程:高等数学、计算机应用基础、计算机组成原理与汇编语言、C语言程序设计
适用专业:信息与计算科学
开课院(系、部、室):数学与计算机科学学院
一、课程的性质与任务
《面向对象程序设计》是信息与计算科学专业的专业基础课之一。主要任务是介绍C++语言中的数据类型,运算,语句结构及其面向对象程序设计的基本方法。目的是使学生掌握面向对象程序设计的基本概念与方法,进而学会利用C++语言解决一般应用问题,并为后续的专业课程奠定程序设计基础。
二、课程内容、基本要求与学时分配
(一) C++语言概述 1学时
1、了解C++语言的简史与特点
2、了解一个简单的C++程序
3、掌握程序的编辑、编译、链接和运行及集成开发环境
重点:C++程序的结构。
难点:C++程序的编辑、编译、连接和运行环境。
(二) 基本数据类型与输入输出 1学时
1、掌握C++的基本数据类型(整型、字符型、枚举型、实型)
2、熟练掌握常量、变量
3、掌握宏定义的使用
4、掌握I/O流及了解printf( )与scanf( )函数
重点:C++的数据类型及I/O控制流。
难点:I/O控制流。
(三) 函数 3学时
1、掌握函数的组成
2、熟练掌握函数的调用与参数的传递
3、掌握函数的原形
4、掌握inline函数 及默认参数的函数和递归函数的概念
5、掌握函数的重载
6、掌握全局变量、局部变量和静态局部变量的概念
重点:C++的函数结构、全局变量、局部变量和静态局部变量的概念。
难点:inline函数、 默认参数的函数和函数的重载。
(四)程序结构 2学时
1、掌握变量的存储类别
2、掌握变量的作用域、可见性和生命周期
3、了解头文件、多文件结构及编译预处理的概念
重点:变量的作用域、可见性和生命周期。
难点:多文件结构的编译处理。
(五) 指针 3学时
1、熟练掌握指针的概念
2、熟练掌握指针变量的定义、初始化和指针运算
3、掌握const指针
4、掌握指针与数组的关系
5、掌握指针与函数的关系
6、掌握指针与字符串的关系
7、了解指针与堆空间的应用
重点:指针与数组、函数和字符串的关系。
难点:const指针。
(六) 引用 3学时
1、掌握引用的概念及操作
2、掌握用引用传递函数参数
3、掌握用引用返回函数值
4、掌握函数调用作为左值
5、了解用const限定引用
6、了解返回堆中变量的引用
重点:用引用传递函数参数、用引用返回函数值、函数调用作为左值。
难点:函数调用作为左值、返回堆中变量的引用。
(七)类 3学时
1、掌握类的概念与定义
2、掌握类成员函数的定义
3、掌握类成员函数的调用
4、掌握类成员的访问属性
5、掌握成员函数与this指针
重点:类成员函数的定义、调用、类成员的访问。
难点:成员函数与this指针。
(八)构造函数 4学时
1、掌握对象的概念
2、掌握构造函数与析构函数的概念、定义格式及其调用
3、掌握带参数的构造函数的概念和定义
4、掌握重载构造函数的概念和定义
5、掌握默认构造函数的概念和定义
6、了解类成员的初始化
7、掌握类成员的构造
8、了解构造对象的顺序
重点:构造函数与析构函数的概念、定义格式及其调用。
难点:类成员的初始化、类成员的构造。
(九)面向对象程序设计 2学时
1、掌握抽象和分类的概念
2、掌握面向对象技术的基本概念
3、了解结构化程序设计方法与面向对象方法的差别
重点:抽象和分类的概念。
(十)堆与拷贝构造函数 4学时
1、掌握堆的概念
2、掌握new和delete的操作
3、掌握拷贝构造函数的概念和定义
4、掌握默认拷贝构造函数的概念和定义
5、了解浅拷贝和深拷贝的概念
6、了解临时对象和无名对象的概念
7、掌握构造函数的类型转换功能
重点:拷贝构造函数、默认拷贝构造函数的概念和定义、new和delete的操作。
难点:浅拷贝和深拷贝。
(十一)静态成员与友元 4学时
1、掌握静态成员的概念及使用
2、掌握静态数据成员、静态成员函数的概念及使用
3、掌握友元函数与友元类的定义和使用
重点:静态成员、静态成员函数、友元函数与友元类。
难点:友元函数与友元类的使用。
(十二)继承 4学时
1、理解继承的概念
2、掌握继承的工作方式
3、掌握类的多态性与虚函数的概念及定义
4、掌握抽象类与纯虚函数的概念及定义
重点:多态性与虚函数、抽象类与纯虚函数。
难点:虚函数与 纯虚函数。
(十三)多重继承 4学时
1、掌握多重继承的工作方式
2、掌握虚拟继承的概念和定义
3、掌握多重继承的构造顺序
4、掌握继承的访问控制
5、理解保护继承和私有继承的概念和应用
重点:多重继承、虚拟继承。
难点:继承的访问控制。
(十四)运算符重载 5学时
1、理解运算符重载的概念
2、掌握基本运算符的重载形式
3、掌握值返回与引用返回的概念
重点:运算符重载。
难点:返回引用的运算符重载函数。
(十五)I/O流 2学时
1、理解I/O标准流类
2、掌握标准输入输出的预定义流对象: cin、cout、cerr、clog
3、理解文件流类
4、理解串流类
5、掌握插入运算符的重载
6、掌握文件的基本操作
重点:标准输入输出的预定义流对象。
难点:文件的基本操作。
(十六)模板 2学时
1、理解模板的概念
2、掌握函数模板和类模板的概念及其定义
3、掌握模板函数的重载
4、了解标准模板类库
重点:函数模板和类模板。
难点:模板函数的重载。
(十七)异常处理 1学时
1、了解异常的概念
2、了解异常的规则及处理机制
3、了解异常的实现及使用方法
4、了解多路捕捉
重点:异常的规则及处理机制。
难点:异常的实现及使用方法。
三、推荐教材和主要参考书
1、推荐教材:
(1)钱能,C++程序设计教程, 清华大学出版社。
2、推荐参考书:
(1)林亨利等 著,TURBO C++应用教程, 清华大学出版社。
(2)周宁等 著,Borland C++编程技巧与实例,清华大学出版社。
(3)Nell Dale 著,C++程序设计(第二版),高等教育出版社。
(4) Bjarne Stroustrup 著,C++程序设计(特制版),高等教育出版社。
(5)张基温 著,C++程序设计基础,高等教育出版社。
(6)谭浩强 著,C/C++程序设计教程,高等教育出版社。
大纲制订者:张成林
大纲审定者: 吴元斌
展开阅读全文