• 1.摘要
  • 2.基本信息
  • 3.内容简介
  • 4.图书目录

C++实训教程

金正海著书籍

《C++实训教程(理论篇+应用篇)(套装共2册)》共18章,从最基础的编程语言概念讲起,前10章完整地介绍C/C++语言的基础语法知识和汇编的常用知识,包括过程设计、内存模型、编译器对地址的理解、复合数据类型、程序的文件组织、函数调用原理等。后8章介绍C++面向对象编程(OOP)以及面向对象高级特性,如类的设计和使用、多态、虚函数、继承、模板、异常、命名空间等知识,以及编程实践中要用到的C++标准库、STL容器、泛型算法等应用性内容,结合实例展开讨论。《C++实训教程(理论篇+应用篇)(套装共2册)》具有由浅人深、通俗易懂和注重实例等特点,适合于没有或者缺乏C/C++程序设计经验的初学者作为标准C++语言的自学教材,同时也适合于已掌握汇编、C语言基础编程技术,需要提高C++实践能力以及对标准C++语言感兴趣的程序员参考阅读。

基本信息

  • 书名

    C++实训教程

  • 作者

    金正海 余志勇

  • 出版社

    东南大学出版社

  • 出版日期

    2011年12月1日

  • 页数

    808页

内容简介

《C++实训教程(理论篇+应用篇)(套装共2册)》着重介绍标准C++语言,从编译原理与内存管理角度,借助于汇编,深刻理解C/C++语言关键概念,并针对C++程序设计的各个知识点进行了全面、深入的剖析和提炼,为读者构建了一个完备的知识体系。《C++实训教程(理论篇+应用篇)(套装共2册)》中所有的实例都是VisualC++6.0集成开发环境下编辑、编译、调试通过的。

图书目录

《C++实训教程·理论篇》目录: 第1章走进程序的世界 1.1CPU如何工作 1.2计算机语言与编译技术 1.3C和C++的历史 1.4如何让计算机懂你 1.5小结 第2章可执行文件的制作 2.1在记事本中开发 2.2语言与集成开发环境(IDE)工具 2.3编译环境的主要参数介绍 2.4应用程序的种类 2.5小结 第3章程序的数据表示 3.1计算机的数值表示 3.2指定段内存的标识——变量 3.3常量 3.4字符编码 3.5小结 第4章数据运算与程序控制 4.1表达式、语句和操作符 4.2操作符 4.3过程化控制语句 4.4小结 第5章代码封装初步与函数调用机制 5.1函数概述 5.2函数的定义、声明和调用 5.3程序的内存区域 5.4全局变量与局部变量 5.5递归函数 5.6内联函数 5.7重载函数 5.8默认参数的函数 5.9×86平台程序函数调用原理 5.10小结 第6章数据集合与C++标准模板库(STL)类模板vector 6.1数组的引入 6.2数组的概念 6.3一维数组 6.4二维数组 6.5C++标准模板库类模板vector 6.6小结 第7章操纵地址直接访问内存 7.1程序、进程与内存 7.2内存模型 7.3C++语言中的指针 7.4动态内存分配 7.5常用的几种指针 7.6指针与数组 7.7指针与函数 7.8指针类型转换和指针的安全 7.9内存管理 7.10小结 第8章指针的封锁——引用 8.1引用简介 8.2引用的本质 8.3引用的限定 8.4引用的应用 8.5小结 第9章程序的文件组织 9.1函数组织 9.2C++项目组成 9.3命名空间(namespace) 9.4小结 第10章用结构组织数据——数据封装初步 10.1结构体 10.2指向结构变量的指针 10.3结构体数组 10.4结构体定义typedefstruct用法 10.5结构体与函数 10.6结构体内存对齐 10.7结构体的应用——链表 10.8共用体(联合体) 10.9小结 第11章在程序中描叙事物 11.1类 11.2成员函数 11.3对象的定义和内存结构 11.4成员函数调用 11.5成员函数指针 11.6成员的访问权限 11.7小结 第12章事物实例的创建和销毁 12.1类与对象 12.2构造函数 12.3常对象与常对象成员 12.4析构函数 12.5类构造函数初始化列表 12.6构造对象的顺序 12.7类对象的复制拷贝构造函数 12.8临时对象与无名对象 12.9构造函数用于类型转换与关键字explicit 12.10小结 第13章静态类成员与友元 13.1静态类成员 13.2C++中的友元关系 13.3小结 第14章程序代码可重用性——继承 14.1类的层次与继承 14.2使用继承的必要性 14.3继承的工作方式 14.4派生类的构造函数和析构函数 14.5类的继承与组合 14.6多态性 14.7纯虚函数 14.8多重继承 14.9访问控制 14.10小结 第15章运算符重载 15.1运算符重载的作用 15.2运算符重载形式 15.3重载增量运算符 15.4赋值运算符 15.5下标运算符重载 15.6重载operatornew 15.7转换运算符 15.8运算符重载使用——智能指针原理 15.9小结 第16章数据的输入和输出 16.1C++输人和输出 16.2标准输入输出流 16.3串流控制 16.4文件操作 16.5示例演示 16.6缓存和同步 16.7小结 第17章模板技术 17.1模板的概念 17.2模板函数通式 17.3类模板和模板类 17.4模板编译 17.5应用举例 17.6小结 第18章另一种程序控制机制——异常 18.1异常处理的任务 18.2异常的实现 18.3异常的应用 18.4非错误处理 18.5小结 参考文献 《C++实训教程·应用篇》目录: 第1章 基础部分 1.1 学习前准备 1.1.1 Windows环境准备 1.1.2 工具准备 1.1.3 文档准备 1.2第一个Windows程序 1.2.1 控制台项目 1.2.2 Win32项目 1.3 Unicode 1.3.1 字符集 1.3.2 美国信息交换标准代码(ASCII) 1.3.3 双字节字符集(DBCS) 1.3.4 为什么使用Unicode 1.3.5 如何在C++中使用Unicode 1.4 常用数据类型 1.5 小结 第2章 动态链接库 2.1 动态链接库介绍 2.2静态链接库 2.3 库的调试与查看 2.4 extern“C” 2.5 动态链接库示例 2.5.1 准备工作(目录结构创建) 2.5.2 基本的DLL 2.5.3 声明导出函数 2.5.4 DLL的调用方式 2.5.5 DllMain函数 2.5.6 stdcall约定 2.5.7 DLL导出变量 2.5.8 DLL导出类 2.6 小结 第3章 多线程编程 3.1 进程 3.1.1 进程的概念 3.1.2 进程与线程 3.1.3 使用CreateProcess创建进程 3.1.4 进程的终止 3.1.5 从主线程的入口点函数返回 3.1.6 使用ExitProcess函数 3.1.7 使用了erminateProcess函数 3.1.8 进程终止后操作系统的工作 3.1.9 子进程 3.2 线程的基础知识 3.2.1 线程的创建 3.2.2 线程的复杂性 3.2.3 线程入口函数 3.2.4 CreateThread函数 3.2.5 终止线程的运行 3.3 线程的调度 3.3.1 暂停和恢复线程的运行 3.3.2 暂停和恢复进程的运行 3.3.3 睡眠方式 3.3.4 转换到另一个线程 3.4 线程的同步 3.4.1 原子访问:互锁的函数家族 3.4.2 高速缓存区 3.4.3 高级线程同步 3.4.4 关键代码段 3.5 线程与内核对象的同步 3.5.1 等待函数 3.5.2 事件內核对象 3.5.3 信号量內核对象 3.5.4 互斥对象內核对象 3.6 小结 第4章 内存管理 4.1 Windows内存结构简介 4.2 虚拟内存 4.2.1 操作系统的基本信息 4.2.2 监视虚拟內存的状态 4.3 程序中使用虚拟内存 4.3.1 在地址空间中申请內存区域 4.3.2 在保留区域中的提交存储器 4.3.3 同时进行区域的保留和內存的提交 4.3.4 何时提交物理存储器 4.3.5 回收虚拟內存和释放地址空间区域 4.3.6 何时回收物理存储器 4.4 内存映射文件 4.4.1 步骤1:创建或打开文件内核对象 4.4。2 步骤2:创建一个文件映射內核对象 4.4.3 步骤3:将文件数据映射到进程的地址空间 4.4.4 步骤4:从进程的地址空间中撤销文件数据的映像 4.4.5 步骤5和步骤6:关闭文件映射对象和文件对象 4.5 小结 第5章 界面编程 5.1 Windows界面编程基础 5.1.1 创建第一个应用程序的窗体 5.1.2 Windows编程的特点 5.2 Windows简单编程 5.3 MFC界面编程 5.3.1 MFC简介 5.3.2 设计一个MFC程序 5.4 控件介绍 5.4.1 Windows标准控件 5.4.2 控件的创建方法 5.4.3 控件的消息以及消息映射 5.4.4 控件的数据交換和数据校验 5.5 静态按钮和控件 5.6 编辑框和旋转按钮控件 5.6.1 编辑框的基本操作 5.6.2 旋转按钮控件 5.7 列表框 5.8 组合框 5.9 进度条、滚动条 5.9.1 进度条 5.9.2 滚动条 5.10 小结 第6章 网络编程 6.1 网络协议基础 6.1.1 TCP/IP协议概述 6.1.2 IP协议 6.1.3 TCP协议 6.1.4 UDP协议 6.2 Winsock基础 6.2.1 Winsock的启动和终止 6.2.2 创建套接字 6.2.3 指定本机地址——bind() 6.2.4 建立套接字连接——conncct()和WSAConnect() 6。2.5 监听连接——listcn() 6.2.6 接受连接请求——aCCcpt()和WSAAccept() 6.2.7 数据发送——Send()和sendto() 6.2.8 数据接收——recv()和recvfrom() 6.2.9 I/O多路复用——Select() 6.2.10 释放连接——closesocket()和shutdown() 6.2.11 getpeername() 6.2.12 getsockname() 6.2.13 gethostbyaddr() 6.2.14 Gethostbyname() 6.2.15 文件下载函数 6.2.16 在程序中显示SOCKET错误信息 6.2.17 初始化Socket IP地址的一个例子 6.2.18 通讯程序中应该注意的长度问题 6.3 小结 第7章 Services程序 7.1 服务介绍 7.2 CreateService函数 7.3 安装服务 7.4 卸载服务 7.5 启动服务 7.6 小结 第8章 COM技术 8.1 COM基本概念 8.2 基本元素的定义 8.3 使用和处理COM对象 8.4 COM的生命周期与引用计数 8.5 综合示例 8.6 COM技术的优劣 8.7 小结 第9章 项目实例Web服务端 9.1 HTTP协议详解 9.1.1 HTTP协议URL 9.1.2 HTTP协议请求 9.1.3 HTTP协议响应 9.1.4 HTTP协议消息报头 9.1.5 查看http协议的通讯过程 9.2 源代码 9.2 小结 第10章 项目实例FTP客户端 10.1 FTP协议详解 10.1.1 数据表示与保存 10.1.2 FTP命令 10.1.3 典型FTP过程 10.2 源代码 10.2.1 FtpClient.h 10.2.2 FtpClient.cpp 10.3 小结 参考文献