热门关键字:  听力密码  听力密码  新概念美语  单词密码  巧用听写练听力
图书信息

C++面向对象程序设计

中国水利水电出版社
    【作 者】李素若 杜华兵 【I S B N 】978-7-5170-0857-6 【责任编辑】李 炎 【适用读者群】本专通用 【出版时间】2013-06-14 【开 本】16开 【装帧信息】平装(光膜) 【版 次】第1版第1次印刷 【页 数】316 【千字数】487 【印 张】19.75 【定 价】35 【丛 书】21世纪高等学校精品规划教材 【备注信息】
图书详情

    C++近年来已成为国内外广泛学习和使用的现代计算机语言,国内许多高校已陆续开设了C++程序设计课程。本书是为已有C语言基础的读者编写的,较详尽地讲述了C++面向对象程序的基本特性,包括类、对象、派生类、继承、多态性、虚函数、模板、异常处理、流类库等。全书提供了大量实例、习题使读者能深刻理解并领会面向对象程序设计的特点和风格,方便老师教课及学生学习。

    本书配套教材《C++面向对象程序设计习题解答及上机指导》也同步出版,包含与主教材各章内容相配合的习题解答参考、VC ++ 6.0上机操作和11个精心设计的实验,每个实验均包括实验目的、实验内容、实验指导等内容,两本书配套使用可以更为全面地掌握C++程序设计这门课程。

    本书内容全面,例题丰富,概念清晰,循序渐进,易于学习,强调应用,以提高编程能力为目标。本书可以作为应用型本科院校计算机相关专业的学生及高职高专学生学习C++程序设计课程的教材,也可作为C++语言自学者的教材或从事计算机软件开发人员的参考书。

    本书在内容处理上,既注意反映电气控制领域的最新技术,又注意专科学生的知识和能力结构,吸收和借鉴了各地高等职业技术学院教学改革的成功经验,同时参照了劳动部对技能等级考试的考核要求。

    本书以综合项目-分解任务-具体步骤的模式组织内容,以加强基础知识、重视实践技能、培养动手能力为指导思想,强调理论联系实际,注重培养学生的动手能力、分析和解决实际问题的能力,以及工程设计能力和创新意识,体现理实一体化教材的特色。

    随着面向对象程序设计方法的不断普及和应用,学习和掌握C++语言已经成为许多计算机专业工作者和广大计算机应用人员的迫切需要。学好C++,可以很容易地触类旁通其他语言,如Java和C#等。C++架起了通向强大、易用、真正的软件开发应用的桥梁。

    C++语言是在C语言基础上扩充了面向对象机制而形成的一种面向对象程序设计语言,它除继承了C语言的全部优点和功能外,还支持面向对象程序设计。C++现在已成为介绍面向对象程序设计的首选语言。学习C++不仅可以深刻理解并领会面向对象程序设计的特点和风格,掌握其方法和要领,而且可以使读者掌握一种十分流行和实用的程序设计语言。

    本书结构是:首先介绍面向对象程序设计理论的基本概念,让读者从理论上理解面向对象程序设计与结构化程序设计的不同。然后介绍C++对C语言的扩充,最后介绍了C++面向对象程序设计的基本方法。本书直接介绍面向对象的程序设计并贯穿始终,力求让读者尽快地建立起面向对象编程的思想。使读者不仅学会一门程序设计语言,还能初步掌握面向对象的程序设计方法。

    本教材共分8章,第1章概述了面向对象程序设计的基本概念。第2章介绍了C++对C语言在非面向对象方面的扩充。第3章详述了类与对象定义及应用,以及使用过程中应注意的问题。第4章介绍了C++类的继承性。第5章介绍了C++类的多态性。第6章介绍了运算符重载。第7章介绍模板及C++异常处理机制,第8章介绍了C++流类库及输入和输出。

    在本书的编写中,编者结合自己的教学和编程实践经验,通过生动、通俗易懂的语言并结合编程实例来讲解各个知识点,便于读者理解和掌握。本书中的所有例子都在Visual C++ 6.0环境中运行通过。

    本书由李素若、杜华兵担任主编,任正云、琚辉、陈万华、张牧担任副主编,全书第1、2、4、8章由李素若编写,第3章由任正云、琚辉共同编写,第5章由张牧编写,第6章由杜华兵编写,第7章由陈万华编写,全书由李素若统稿。参加本书编写大纲讨论的教师还有严永松、游明坤、胡秀、贺体刚等。

    由于编者水平有限,加之时间仓促,书中难免有疏漏之处,敬请广大读者批评指正,以使本书质量得到进一步提高。

    编 者

    2013年2月

    前言

    第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 面向对象程序设计语言 10
    1.3.1 面向对象程序设计语言的发展概况 10
    1.3.2 几种典型的面向对象程序设计语言 12
    习题一 13
    第2章 C++概述 14
    2.1 C++起源和特点 14
    2.1.1 C++的起源 14
    2.1.2 C++的特点 15
    2.2 C++源程序的构成 15
    2.2.1 一个简单的C++示例程序 15
    2.2.2 C++程序的结构特点 16
    2.3 C++对C的扩充 17
    2.3.1 注释与续行 17
    2.3.2 C++的输入输出流 18
    2.3.3 用const定义常变量 21
    2.3.4 函数原型声明 23
    2.3.5 函数重载 24
    2.3.6 带有缺省参数的函数 26
    2.3.7 变量的引用 27
    2.3.8 内联函数 34
    2.3.9 作用域标识符:: 36
    2.3.10 灵活的局部变量定义 37
    2.3.11 结构名、联合名和枚举名可作为
    类型名 37
    2.3.12 强制类型转换 38
    2.3.13 字符串变量 38
    2.3.14 new和delete 41
    2.4 C++编写和实现 42
    2.5 关于C++上机实践 44
    习题二 44
    第3章 类和对象 48
    3.1 类与对象的基本概念 48
    3.1.1 从结构到类 48
    3.1.2 类的定义 50
    3.1.3 成员函数的定义 52
    3.1.4 对象的定义及使用 54
    3.1.5 类的作用域和类成员的访问属性 57
    3.2 构造函数与析构函数 59
    3.2.1 对象的初始化和构造函数 59
    3.2.2 用参数初始化列表对数据成员初
    始化 63
    3.2.3 构造函数的重载 65
    3.2.4 带默认参数的构造函数 66
    3.2.5 析构函数 68
    3.3 对象数组和对象指针 71
    3.3.1 对象数组 71
    3.3.2 对象指针 74
    3.3.3 this指针 79
    3.4 向函数传递对象 81
    3.4.1 使用对象作为函数参数 81
    3.4.2 使用对象指针作为函数参数 82
    3.4.3 使用对象引用作为函数参数 83
    3.5 对象的赋值和复制 84
    3.5.1 对象赋值 84
    3.5.2 对象复制 85
    3.6 静态成员 91
    3.6.1 静态数据成员 91
    3.6.2 静态成员函数 94
    3.7 友元 97
    3.7.1 友元函数 97
    3.7.2 友元类 101
    3.8 类的组合 102
    3.9 常类型 107
    3.9.1 常引用 107
    3.9.2 常对象 108
    3.9.3 常对象成员 109
    习题三 111
    第4章 派生和继承 115
    4.1 继承与派生的概念 115
    4.1.1 什么是继承和派生 115
    4.1.2 派生类的声明 117
    4.1.3 派生类的构成 118
    4.1.4 基类成员在派生类中的访问属性 119
    4.1.5 派生类对基类成员的访问规则 120
    4.2 派生类的构造函数和析构函数 128
    4.2.1 派生类构造函数和析构函数的
    执行顺序 128
    4.2.2 派生类构造函数和析构函数的
    定义规则 129
    4.3 调整基类成员在派生类中的访问属性
    的其他方法 134
    4.3.1 同名成员 134
    4.3.2 访问声明 135
    4.4 多重继承 138
    4.4.1 多重继承派生类的声明 138
    4.4.2 多重继承派生类的构造函数与析构
    函数 140
    4.4.3 多重继承派生类二义性问题 142
    4.5 虚基类 144
    4.5.1 虚基类的概念 144
    4.5.2 虚基类的初始化 146
    4.5.3 虚基类应用举例 148
    4.6 基类与派生类对象之间的赋值兼容关系 150
    4.7 继承与组合 152
    习题四 155
    第5章 多态性和虚函数 163
    5.1 多态性概述 163
    5.1.1 多态的分类 163
    5.1.2 多态的实现 164
    5.2 虚函数 165
    5.2.1 为什么引入虚函数 165
    5.2.2 虚函数的定义和使用 166
    5.2.3 虚函数与重载函数的关系 168
    5.2.4 多继承与虚函数 169
    5.2.5 虚析构函数 172
    5.3 纯虚函数和抽象类 174
    5.3.1 纯虚函数 174
    5.3.2 抽象类 176
    5.4 程序举例 177
    习题五 184
    第6章 运算符重载 192
    6.1 运算符重载概述 192
    6.1.1 运算符重载函数的定义 192
    6.1.2 运算符重载的规则 194
    6.2 运算符重载函数的两种形式 195
    6.2.1 友元运算符重载函数 195
    6.2.2 成员运算符重载函数 201
    6.2.3 友元运算符重载函数与成员运算
    符重载函数的比较 205
    6.3 几种常用运算符重载 208
    6.3.1 前缀运算符和后缀运算符的重载 208
    6.3.2 赋值运算符的重载 210
    6.3.3 下标运算符的重载 212
    6.3.4 函数调用运算符的重载 214
    6.4 类型转换 215
    6.4.1 系统预定义类型间的转换 215
    6.4.2 类类型与系统预定义类型间的转换 216
    习题六 221
    第7章 模板与异常 228
    7.1 模板的概念 228
    7.2 函数模板与模板函数 229
    7.2.1 函数模板的说明 230
    7.2.2 函数模板的使用 230
    7.2.3 用户定义的参数类型 232
    7.2.4 函数模板异常处理 233
    7.3 类模板与模板类 235
    7.3.1 类模板说明 235
    7.3.2 使用类模板 237
    7.4 模板应用举例 239
    7.5 异常处理 243
    7.5.1 异常处理概述 244
    7.5.2 异常处理的方法 244
    7.5.3 应用举例 247
    习题七 251
    第8章 C++流类库与输入输出 257
    8.1 C++为何建立自己的输入输出系统 257
    8.2 C++流类库及其结构 259
    8.2.1 C++的流 259
    8.2.2 流类库 259
    8.3 标准输入输出流 262
    8.3.1 标准流类 262
    8.3.2 格式控制输入输出 265
    8.3.3 用于输入输出的流成员函数 273
    8.4 用户自定义类型的输入输出 278
    8.4.1 重载输出运算符“<<” 279
    8.4.2 重载输入运算符“>>” 280
    8.5 文件的输入输出 281
    8.5.1 文件的概念 281
    8.5.2 文件流类与文件流对象 282
    8.5.3 文件的打开与关闭 282
    8.5.4 对文本文件的操作 284
    8.5.5 对二进制文件的操作 287
    8.6 字符串流 292
    8.7 命名空间和头文件命名规则 295
    8.7.1 命名空间 295
    8.7.2 头文件命名规则 300
    习题八 301
    附录A C++语言运算符的优先级和结合性 307
    附录B ASCII码表 308
    参考文献 309
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册