下载地址:
下载地址1资源简介:
中文名: 21天学通C++作者: Jesse Liberty译者: 康博创作室资源格式: PDF版本: 第三版出版社: 人民邮电出版社书号: 7-115-08569发行时间: 2000年地区: 大陆语言: 简体中文,英文简介: 内容简介: 本书全面系统地介绍了C++编程的基本知识,包括C++的基本数据类型、基本语法和面向对象编程的基础知识,同时介绍了C++新增的内容。全书共分21章,读者大约用一天时间可学完一章的内容。 本书既可作为C++新手开始学习Visual C++ 6.0编程的入门书籍,也可作为有经验的C++编程人员的编程参考书。书中还提供了大量实例代码和练习及测验题,以加深广大读者对所学知识的理解。 目录: 第一篇第一章开始1.1引言1.2C++历史简介1.3程序1.4本书要解决的问题1.4.1过程编程、结构化编程和面向对象编程1.4.2C++和面向对象编程1.5C++的发展历程1.6学习C++应该先学C吗1.7C++和Java1.8ANSI标准1.9准备编程1.10开发环境1.11编译源代码1.12用链接器生成可执行文件1.13程序开发周期1.14HELLO.cpp――你的第一个C++程序1.15开始学习Visual C++ 6.01.16编译错误1.17小结1.18问与答1.19习题1.19.1测验1.19.2练习第二章C++程序的组成部分2.1一个简单程序2.2cout简介2.3注释2.3.1注释的类型2.3.2使用注释2.3.3对注释的忠告2.4函数2.4.1函数的使用2.5小结2.6问与答2.7习题2.7.1测验2.7.2练习第三章变量与常量3.1什么是变量3.1.1留出内存3.1.2整型量的大小3.1.3有符号和无符号3.1.4基本变量类型3.2定义一个变量3.2.1大小写敏感性3.2.2关键字3.3一次创建多个变量3.4给变量赋值3.5typedef3.6short与long的使用3.6.1无符号整型量的溢出3.6.2有符号整型量的溢出3.7字符型变量3.7.1字符和数字3.7.2特殊打印字符3.8常量3.8.1字面常量3.8.2符号常量3.9枚举型常量3.10小结3.11问与答3.12习题3.12.1测验3.12.2练习第四章表达式和语句4.1语句4.1.1空白4.1.2块和复合语句4.2表达式4.3运算符4.3.1赋值运算符4.3.2数学运算符4.3.3整型量除法和取模4.4赋值运算符与数学运算符的组合4.5自加与自减4.6优先级4.7括号的嵌套4.8真值的本质4.8.1关系运算符4.9if语句4.9.1缩进样式4.9.2else4.9.3高级if语句4.10在嵌套的if语句中使用大括号4.11逻辑运算符4.11.1逻辑“与”4.11.2逻辑“或”4.11.3逻辑“非”4.12简化求值4.13关系运算符的优先级4.14有关真假关系的进一步讨论4.15条件运算符(三目运算符)4.16小结4.17问与答4.18习题4.18.1测验4.18.2练习第五章函数5.1什么是函数5.2函数的返回值、参量和变元5.3声明和定义函数5.3.1函数的声明5.3.2函数原型5.3.3定义函数5.4函数的执行5.5局部变量5.6全局变量5.7使用全局变量的注意事项5.8有关局部变量的更多知识5.9函数语句5.10有关函数变元的更多知识5.10.1使用函数作为函数的参量5.11参量作为局部变量5.12有关返回值的更多知识5.13默认参量5.14函数重载5.15有关函数的一些专门话题5.15.1内嵌函数5.15.2递归5.16函数是如何工作的5.16.1抽象层次5.16.2划分RAM5.16.3堆栈与函数5.17小结5.18问与答5.19习题5.19.1测验5.19.2练习第六章基本类6.1创建新类型6.1.1为什么要创建新类型6.2类和成员6.2.1声明一个类6.2.2有关命名习惯的一点说明6.2.3定义一个对象6.2.4类与对象6.3访问类成员6.3.1给对象赋值而不是给类赋值6.3.2如果你不声明它,你的类就没有它6.4私有和公有6.4.1使成员数据私有6.4.2私有性与安全性6.5实现类的方法6.6构造函数和析构函数6.6.1默认的构造函数和析构函数6.6.2使用默认构造函数6.7成员函数const6.8界面与实现6.9在何处放置类声明和方法定义6.10内嵌实现6.11用其他类作为成员数据的类6.12结构体6.12.1为什么两个关键字做同一件事6.13小结6.14问与答6.15习题6.15.1测验6.15.2练习第七章程序流程7.1循环7.1.1循环语句的起源――goto语句7.1.2为什么现在不再使用goto语句7.2while循环7.2.1复杂的while语句7.2.2continue和break7.2.3while(true)循环7.3do...while循环7.4Do...while7.5for循环7.5.1高级for循环7.5.2多重初始化和自增运算7.5.3在for循环中使用空语句7.5.4空 for循环7.5.5嵌套循环7.5.6for循环的作用域7.6循环总结7.7switch语句7.7.1使用带有菜单的switch语句7.8小结7.9问和答7.10习题7.10.1测验7.10.2练习第一篇内容回顾第二篇第八章指针8.1什么是指针8.1.1在指针中存储地址8.1.2指针名8.1.3间接引用运算符8.1.4指针、地址和变量8.1.5使用指针操作数据8.1.6检查地址8.2为什么要使用指针8.3栈和自由存储区8.3.1new8.3.2delete8.4内存泄漏8.5在自由存储区内创建对象8.6删除对象8.7访问数据成员8.8自由存储区中的成员数据8.9this 指针8.10迷途指针、失控指针或悬浮指针8.11const指针8.11.1const 指针和const成员函数8.11.2const this指针8.12指针算法8.13小结8.14问与答8.15习题8.15.1测验8.15.2练习第九章引用9.1什么是引用9.2对引用使用取址运算符9.2.1引用不能被重新赋值9.3什么可以被引用9.4空指针和空引用9.5通过引用传递函数参数9.5.1用指针使swap()工作9.5.2使用引用实现swap()9.6理解函数头文件和原型9.7返回多个值9.8使用引用传递来提高效率9.8.1传递const指针9.8.2使用引用代替指针9.9何时使用引用以及何时使用指针9.10混合使用引用和指针9.11不要返回对不在作用域中的对象的引用9.12返回对一个在堆中的对象的引用9.13指针的传递9.14小结9.15问与答9.16习题9.16.1测验9.16.2练习第十章高级函数10.1重载成员函数10.2使用默认值10.3默认值和重载函数的选择10.4默认构造函数10.5重载构造函数10.6初始化对象10.7复制构造函数10.8运算符重载10.8.1写一个自加函数10.8.2重载前置运算符10.8.3重载运算符函数的返回类型10.8.4返回无名临时对象10.8.5使用this指针10.8.6重载后置运算符10.8.7前置和后置之间的区别10.8.8加法运算符10.8.9重载operator+10.8.10运算符重载中存在的问题10.8.11运算符重载的局限性10.8.12重载什么10.8.13赋值运算符10.9转换运算符10.9.1转换运算符10.10小结10.11问与答10.12习题10.12.1测验10.12.2练习第十一章继承11.1什么是继承11.1.1继承和派生11.1.2动物世界11.1.3派生的语法11.2私有型与保护型11.3构造函数和析构函数11.3.1向基构造函数传递参数11.4覆盖函数11.4.1隐藏基类方法11.4.2调用基函数11.5虚函数11.5.1虚函数是怎样工作的11.5.2不能从基类中访问派生类中的函数11.5.3切片(slicing)11.5.4虚析构函数11.5.5虚复制构造函数11.5.6虚函数的代价11.6小结11.7问与答11.8习题11.8.1测验11.8.2练习第十二章数组和链表12.1什么是数组12.2数组元素12.3超过数组未尾写入数据12.4篱笆标志错误12.5初始化数组12.6声明数组12.7对象的数组12.8多维数组12.9初始化多维数组12.10有关内存的一些话题12.11指针数组12.12在自由存储区声明数组12.13指向数组的指针和指针数组12.14指针与数组名12.15删除自由存储区中的数组12.16char数组12.17strcpy()和strncpy()12.18字符串类12.19链表和其他结构12.20链表案例研究12.21组件部分12.22你学到了什么12.23数组类12.24小结12.25问与答12.26习题12.26.1测验12.26.2练习第十三章多态性13.1单一继承的问题13.1.1升迁13.1.2下降13.1.3添加到两个链表13.2多重继承13.2.1多重继承对象的构成13.2.2多重继承对象中的构造函数13.2.3歧义解析13.2.4从共享基类中继承13.2.5虚继承13.2.6多重继承中存在的问题13.2.7混合继承和功能类13.3抽象数据类型13.3.1纯虚函数13.3.2实现纯虚函数13.3.3复杂的抽象层次13.3.4哪些类型是抽象的13.4观察者模式13.4.1有关多重继承、抽象数据类型和Java的一些情况13.5小结13.6问与答13.7习题13.7.1测验13.7.2练习第十四章特殊类和函数14.1静态成员数据14.2静态成员函数14.3函数指针14.3.1为什么使用函数指针14.3.2函数指针数组14.3.3把函数指针传递给其他函数14.3.4在函数指针中使用typedef14.4成员函数指针14.4.1成员函数指针数组14.5小结14.6问与答14.7习题14.7.1测验14.7.2练习第二篇内容回顾第三篇第十五章高级继承15.1包容15.1.1访问被包容类的成员15.1.2过滤对被包容成员的访问15.1.3包容的代价15.1.4按值来复制15.2继承实现/包容与代理15.2.1授权15.3私有继承15.4友元类15.5友元函数15.6友元函数和运算符重载15.7重载插入运算符15.8小结15.9问与答15.10习题15.10.1测验15.10.2练习第十六章流16.1流概述16.1.1封装16.1.2缓冲16.2流和缓冲区16.3标准I/O对象16.4重定向16.5用cin输入16.5.1串16.5.2串存在的问题16.5.3运算符>>返回对一个istream对象的引用16.6cin的其他成员函数16.6.1单字符输入16.6.2不使用参数的get()16.6.3使用带字符引用参数的get()16.6.4从标准输入读取字符串16.6.5使用cin.ignore()16.6.6peek()和putback()16.7使用cout输出16.7.1清除输出16.8相关函数16.9控制符、标志和格式化指令16.9.1使用cout.width()16.9.2设置填充字符16.9.3设置标志16.10流和printf()函数16.11文件的输入和输出16.12ofstream16.12.1条件状态16.12.2打开文件进行输入和输出16.12.3在打开时改变ofstream的默认行为16.13二进制文件和文本文件16.14命令行处理16.15小结16.16问与答16.17习题16.17.1测验16.17.2练习第十七章名字空间17.1开始17.2按名字解析函数和类17.3创建名字空间17.3.1声明和定义类型17.3.2在名字空间外定义函数17.3.3添加新成员17.3.4嵌套的名字空间17.4使用名字空间17.5关键字using17.5.1using命令17.5.2using声明17.6名字空间别名17.7未命名的名字空间17.8标准名字空间std17.9小结17.10问与答17.10.1测验17.10.2练习第十八章面向对象的分析及设计18.1C++是面向对象的吗18.2构造模型18.3软件设计:建模语言18.4软件设计:过程18.5概览18.6需求分析18.6.1使用情况18.6.2应用分析18.6.3系统分析18.6.4计划文档18.6.5可视化18.6.6人工制品18.7设计18.7.1什么是类18.7.2变换18.7.3静态模型18.7.4动态模型18.8小结18.9问与答18.10习题18.10.1测验18.10.2练习第十九章模板19.1什么是模板19.2参数化类型19.2.1实例化一个模板的实例19.3模板定义19.3.1使用名字19.3.2模板的实现19.4模板函数19.5模板和友元19.5.1非模板友元类和函数19.5.2通用模板友元类或函数19.6使用模板单元19.6.1特殊化函数19.6.2静态成员和模板19.7标准模板库19.8容器19.9顺序容器19.9.1向量容器19.9.2列表容器19.9.3Deque容器19.10堆栈19.11了解队列19.12了解关联容器19.12.1映射容器19.12.2其他关联容器19.13算法类19.13.1不变序列运算19.13.2改变序列算法19.14小结19.15问与答19.16习题19.16.1测验19.16.2练习第二十章异常和错误处理20.1程序中的各种错误(bugs,errors,mistakes和code rot)20.1.1异常20.1.2关于代码腐烂20.2异常20.2.1如何使用异常20.3使用try块和catch块20.3.1捕捉异常20.3.2设置多条catch语句20.3.3异常等级20.4异常中的数据和命名异常对象20.5异常和模板20.6没有错误的异常20.7错误和调试20.7.1断点20.7.2观察点20.7.3检查内存20.7.4汇编器20.8小结20.9问与答20.10习题20.10.1测验20.10.2练习第二十一章进一步掌握的内容21.1预处理器和编译器21.2查看中间结果21.3使用#define21.3.1用#define替换常量21.3.2用#define进行测试21.3.3预编译命令#else21.4包含和包含警卫21.5宏函数21.5.1为什么总要用括号21.5.2宏与函数和模板21.6内联函数21.7字符串操作21.7.1字符串化21.7.2连结字符串21.8预定义宏21.9assert()21.9.1用assert()调试21.9.2assert()与异常21.9.3副作用21.9.4类不变量21.9.5打印中间值21.9.6调试级别21.10位操作21.10.1“与”运算符21.10.2“或”运算符21.10.3“异或”运算符21.10.4求补运算符21.10.5设置位21.10.6清除位21.10.7反转位21.10.8位域21.11风格21.11.1缩进21.11.2大括号21.11.3长代码行21.11.4switch语句21.11.5程序文本21.11.6标识符名称21.11.7名字的拼写和大写21.11.8注释21.11.9访问21.11.10类定义21.11.11包含文件21.11.12assert()21.11.13const21.12下一步21.12.1从何处获得帮助和建议21.12.2杂志21.12.3保持联系21.13小结21.14问与答21.14.1测验21.14.2练习第三篇内容回顾附录A运算符的优先级附录BC++关键字附录C二进制和十六进制C.1其他进制C.2进制的转换C.2.1二进制C.2.2为什么用二进制C.2.3位、字节和半字节C.2.4什么是KB(千字节)C.2.5二进制数C.3十六进制附录D答案
飞网下载站,免费下载共享资料,内容涉及教育资源、专业资料、IT资源、娱乐生活、经济管理、办公文书、游戏资料等。