课程介绍

本课程要求掌握C++语言的基础语法结构,掌握面向对象程序设计的基本方法,理解面向对象程序设计的基本思想。内容包括类、对象、派生和继承、多态性、虚函数、模板、流类库、异常处理等。 学完本课程后,同学们应该具备运用C++语言、程序设计技能和面向对象程序设计的方法分析解决简单应用问题的综合技能。初步掌握从需求分析、程序设计到程序编码的面向对象方法。 本课程的理论学时为40学时,实验学时为16学时。其先修课程为“C语言程序设计”。 主要教学用书为: 1.陈维兴、林小茶. 《C++面向对象程序设计教程(第4版)》.清华大学出版社。 2.陈维兴、林小茶、陈昕.《C++面向对象程序设计教程(第4版)习题解答与上机指导》.清华大学出版社。 《C++面向对象程序设计教程(第4版)》 目录: 1章面向对象程序设计概述1 1.1什么是面向对象程序设计1 1.1.1一种新的程序设计范型1 1.1.2面向对象程序设计的基本概念2 1.1.3面向对象程序设计的基本特征4 1.2为什么要使用面向对象程序设计8 1.2.1传统程序设计方法的局限性8 1.2.2面向对象程序设计方法的主要优点9 1.3面向对象程序设计的语言11 1.3.1面向对象程序设计语言的发展概况11 1.3.2几种典型的面向对象程序设计语言12 习题13 2章C++概述14 2.1C++的起源和特点14 2.1.1C++的起源14 2.1.2C++语言的特点15 2.2C++源程序的构成15 2.2.1简单的C++程序15 2.2.2C++程序的结构特性17 2.2.3C++程序的编辑、编译、连接和运行18 2.3C++在非面向对象方面的扩充18 2.3.1注释行19 2.3.2C++的输入输出19 2.3.3灵活的局部变量说明21 2.3.4结构名、联合名和枚举名可直接作为类型名22 2.3.5const修饰符22 2.3.6函数原型25 2.3.7内联函数27 2.3.8带有默认参数的函数30 2.3.9函数的重载31 2.3.10作用域运算符“∷”33 2.3.11无名联合34 2.3.12强制类型转换35 2.3.13运算符new和delete35 2.3.14引用38 习题44 3章类和对象48 3.1类与对象的基本概念48 3.1.1结构体与类48 3.1.2成员函数的定义53 3.1.3对象的定义及使用56 3.1.4类的作用域和类成员的访问属性59 3.2构造函数与析构函数60 3.2.1对象的初始化和构造函数60 3.2.2用成员初始化列表对数据成员初始化65 3.2.3构造函数的重载67 3.2.4带默认参数的构造函数71 3.2.5析构函数72 3.3对象数组与对象指针75 3.3.1对象数组75 3.3.2对象指针78 3.3.3this指针80 3.4string类83 3.5向函数传递对象85 3.5.1使用对象作为函数参数85 3.5.2使用对象指针作为函数参数86 3.5.3使用对象引用作为函数参数87 3.6对象的赋值和复制88 3.6.1对象赋值语句88 3.6.2拷贝构造函数89 3.7静态成员96 3.7.1静态数据成员96 3.7.2静态成员函数101 3.8友元105 3.8.1友元函数105 3.8.2友元类110 3.9类的组合112 3.10常类型117 3.10.1常引用117 3.10.2常对象118 3.10.3常对象成员119 习题122 4章派生类与继承135 4.1派生类的概念135 4.1.1为什么要使用继承135 4.1.2派生类的声明137 4.1.3派生类的构成138 4.1.4基类成员在派生类中的访问属性139 4.1.5派生类对基类成员的访问规则140 4.2派生类的构造函数和析构函数148 4.2.1派生类构造函数和析构函数的执行顺序149 4.2.2派生类构造函数和析构函数的构造规则150 4.3调整基类成员在派生类中的访问属性的其他方法157 4.3.1同名成员157 4.3.2访问声明159 4.4多重继承163 4.4.1多重继承派生类的声明163 4.4.2多重继承派生类的构造函数与析构函数165 4.4.3虚基类169 4.5基类与派生类对象之间的赋值兼容关系178 4.6应用举例181 习题187 5章多态性197 5.1编译时的多态性与运行时的多态性197 5.2运算符重载198 5.2.1在类外定义的运算符重载函数198 5.2.2友元运算符重载函数202 5.2.3成员运算符重载函数208 5.2.4成员运算符重载函数与友元运算符重载函数的比较213 5.2.5“++”和“--”的重载215 5.2.6赋值运算符“=”的重载220 5.2.7下标运算符“\[\]”的重载224 5.3类型转换226 5.3.1系统预定义类型间的转换226 5.3.2类类型与系统预定义类型间的转换227 5.4虚函数234 5.4.1虚函数的引入235 5.4.2虚函数的定义238 5.4.3纯虚函数和抽象类248 5.5应用举例249 习题254 6章模板与异常处理259 6.1模板的概念259 6.2函数模板与模板函数259 6.3类模板与模板类265 6.4异常处理272 6.4.1异常处理概述272 6.4.2异常处理的方法273 6.5应用举例277 习题282 7章C++的流类库与输入输出285 7.1C++为何建立自己的输入输出系统285 7.2C++流的概述286 7.2.1C++的输入输出流286 7.2.2预定义的流对象288 7.2.3输入输出流的成员函数288 7.3预定义类型的输入输出291 7.3.1插入运算符与提取运算符291 7.3.2输入输出的格式控制293 7.4用户自定义类型的输入输出301 7.4.1重载插入运算符301 7.4.2重载提取运算符303 7.5文件的输入输出304 7.5.1文件的打开与关闭305 7.5.2文件的读写308 7.6命名空间和头文件命名规则316 7.6.1命名空间316 7.6.2头文件命名规则318 7.7应用举例319 习题322 8章STL标准模板库325 8.1容器、算法和迭代器的基本概念325 8.2容器326 8.2.1vector容器326 8.2.2list容器333 8.2.3容器适配器338 8.2.4deque容器342 8.2.5set、multiset、map和multimap容器344 本章小结345 习题346 9章面向对象程序设计方法与实例349 9.1面向对象程序设计的一般方法和技巧349 9.1.1问题分析和功能定义350 9.1.2对象(类)设计及实现350 9.1.3核心控制设计352 9.1.4编码与测试352 9.1.5进化352 9.2设计实例: 模拟网上购书的结账功能353 9.2.1问题分析与功能定义353 9.2.2对象(类)设计353 9.2.3核心控制设计355 9.2.4编码与测试356 习题361 参考文献362 《C++面向对象程序设计教程(4版)》习题与参考解答 目录: 1章面向对象程序设计概述3 2章C++概述7 3章类和对象17 4章派生类与继承39 5章多态性57 6章模板与异常处理71 7章C++的流类库与输入输出79 8章STL标准模板库87 9章面向对象程序设计方法与实例91 2部分C++上机实验指导 10章Visual C++上机作介绍99 10.1Visual C++ 6.0 的开发环境99 10.1.1Visual C++ 6.0 集成开发环境概述99 10.1.2常用功能键及其意义100 10.2建立和运行单文件程序101 10.2.1编辑 C++源程序101 10.2.2编译和连接C++程序104 10.2.3程序的运行106 10.2.4关闭工作区107 10.3建立和运行多文件程序108 10.3.1编辑程序中需要的多个文件108 10.3.2创建项目文件109 10.3.3将多个文件添加到项目文件中去110 10.3.4编译和连接项目文件111 10.3.5运行项目可执行文件112 10.3.6关闭工作区112 11章在Visual C++ 2010环境下调试与运行程序113 12章C++上机实验题119 12.1实验1Visual C++ 6.0集成开发环境的初步使用119 12.1.1实验目的和要求119 12.1.2实验内容和步骤119 12.2实验2C++简单程序设计练习121 12.2.1实验目的和要求121 12.2.2实验内容和步骤121 12.3实验3类和对象124 12.3.1实验目的和要求124 12.3.2实验内容和步骤124 12.4实验4派生类与继承127 12.4.1实验目的和要求127 12.4.2实验内容和步骤127 12.5实验5多态性131 12.5.1实验目的和要求131 12.5.2实验内容和步骤131 12.6实验6模板与异常处理134 12.6.1实验目的和要求134 12.6.2实验内容和步骤134 12.7实验7C++的流类库与输入输出135 12.7.1实验目的和要求135 12.7.2实验内容和步骤135 13章C++上机实验题参考解答138 13.1实验1参考解答138 13.2实验2参考解答142 13.3实验3参考解答146 13.4实验4参考解答154 13.5实验5参考解答166 13.6实验6参考解答174 13.7实验7参考解答179 参考文献185

课程通知 >>更多
最新动态
  • 严芬发布了新的作业C++第五次作业
  • 严芬发布了新的作业C++第四次作业
  • 严芬发布了新的作业C++第三次作业
  • 严芬发布了新的作业C++第二次作业
  • 严芬发布了新的作业C++第一次作业
  • 严芬发布了新的测试临时测试2
  • 严芬发布了新的测试临时测试
  • 严芬发布了新的测试《C++语言程序设计》智能2201、2202班(含补修重修)在线测试(二)
  • 严芬发布了新的测试《C++语言程序设计》智能2201、2202班(含补修重修)在线测试(一)
  • 严芬发布了新的作业C++第五次作业