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






