发新话题
打印

《从新手到高手C++全方位学习 随书DVD文件》(范磊)

《从新手到高手C++全方位学习 随书DVD文件》(范磊)

下载此书之前先看评论


 


 


从新手到高手C.全方位学习_代码.iso 1.6GB


复制内容到剪贴板
代码:
ed2k://|file|%E4%BB%8E%E6%96%B0%E6%89%8B%E5%88%B0%E9%AB%98%E6%89%8BC.%E5%85%A8%E6%96%B9%E4%BD%8D%E5%AD%A6%E4%B9%A0_%E4%BB%A3%E7%A0%81.iso|1768325120|0c4e62f2abfdf8c7b3b1a0d60104d403|h=utubydkk6oemr6hehgy2kpngeaqefyx3|/


从新手到高手C.全方位学习_视频.iso 2.1GB


复制内容到剪贴板
代码:
ed2k://|file|%E4%BB%8E%E6%96%B0%E6%89%8B%E5%88%B0%E9%AB%98%E6%89%8BC.%E5%85%A8%E6%96%B9%E4%BD%8D%E5%AD%A6%E4%B9%A0_%E8%A7%86%E9%A2%91.iso|2207514624|108405b7a375c091bd419775ca2b8d8a|h=t23mpjc6uenkiz3ub555kpoypkkdpdpx|/


从新手到高手.C.全方位学习.pdf 66.6MB


复制内容到剪贴板
代码:
ed2k://|file|%E4%BB%8E%E6%96%B0%E6%89%8B%E5%88%B0%E9%AB%98%E6%89%8B.C.%E5%85%A8%E6%96%B9%E4%BD%8D%E5%AD%A6%E4%B9%A0.pdf|69793675|131545a0ea50be6959ac4afaf88bbcf9|/


Flash.9.独立播放器.exe 3.6MB


复制内容到剪贴板
代码:
ed2k://|file|Flash.9.%E7%8B%AC%E7%AB%8B%E6%92%AD%E6%94%BE%E5%99%A8.exe|3794304|dd212771c41b1cfd780671b0a766997a|/


 


 


 


 


中文名从新手到高手C++全方位学习 随书DVD文件

作者范磊

图书分类计算机与网络

出版社科学出版社

书号703024706X

发行时间2009年09月

地区大陆

语言简体中文

简介

IPB Image
内容简介
《从新手到高手C++全方位学习》总结了十几本C++图书及教材的优点,摈弃了它们语言拖沓、层次结构混乱等缺陷,从零开始、由浅入深、层层递进、细致而又详尽地讲解C++这门大型编程语言。《从新手到高手C++全方位学习》知识系统全面,拥有字典般的容量,可随用随查,涵盖指针、面向对象、操作符重载、流、命名空问、模板、异常处理、宏等主流C++开发技术。为了使读者能够活学活用,《从新手到高手C++全方位学习》针对重要的概念精心设计了438个实用范例,囊括大量经验和技巧,即使已从事C++工作多年的朋友,也能从中汲取新的养料。《从新手到高手C++全方位学习》适合于从未学习过任何编程语言的新手,以及学习C++多年,仍旧不能融会贯通的读者,对于正在使用C++进行开发的程序员也有很好的参考价值。

这里,我将原始光盘中的“视频教程”和“源代码”分开发布,以方便各位按需下载。

光盘提供的视频教程,包含了第1章到第17章的内容,网上有18、19章的教程,这个光盘没有包括。

视频教程目录的截图:
IPB Image

源代码目录的截图
IPB Image





目录


第1章 初识C++
1.1 C++简介
1.2 C++与C的区别
1.3 学习C++之前需要先学C吗
1.4 C++与其他语言的区别
1.5 C++的版本以及安装问题

第2章 做一个最简短的C++程序
2.1 简单的屏幕输出小程序
2.2 输出语句的使用
2.3 std::介绍
2.4 iostream与iostream.h的区别
2.5 重名问题
2.6 注释

第3章 初步了解函数
3.1 一个简单的函数
3.2 函数的传参
3.3 函数的返回值. 参数与变量
3.4 函数的声明与定义
3.5 局部变量
3.6 全局变量

第4章 C++数据类型
4.1 变量的定义
4.2 将变量及数据存储在内存中
4.3 布尔型变量
4.4 字符型变量
4.5 wchar_t双字节型变量
4.6 整型概述
4.7 整型变量的定义
4.8 浮点型变量
4.9 常量
4.10 枚举型常量

第5章 if语句与逻辑运算符
5.1 语句的定义
5.2 块的定义
5.3 表达式的定义
5.4 运算符的定义
5.4.1 赋值运算符的定义
5.4.2 数学运算符的定义
5.4.3 赋值运算符与数学运算符的联合
5.5 自加与自减
5.5.1 前置
5.5.2 后置
5.6 表达式的优先级
5.7 关系运算符
5.8 if语句
5.8.1 else语句
5.8.2 else if语句
5.8.3 if语句的嵌套
5.9 逻辑运算符及其使用
5.9.1 逻辑“与”
5.9.2 逻辑“或”
5.9.3 逻辑“非”
5.9.4 逻辑运算符的优先级
5.9.5 运算式的真假关系
5.10 三目运算符
5.10.1 三目运算符的优先问题
5.10.2 三目运算符的使用问题
5.10.3 三目运算符的型别问题
5.10.4 三目运算符在字符型变量中的使用
5.11 复杂嵌套的if语句

第6章 面向对象
6.1 面向对象程序语言的主要特征
6.2 类. 对象和成员
6.3 类. 对象和成员的使用方法及区别
6.3.1 声明一个类
6.3.2 命名习惯
6.3.3 定义一个对象
6.3.4 类与对象的区别
6.3.5 对象与成员的关系
6.3.6 不要给类赋值
6.3.7 对象只能调用类中存在的成员
6.4 公有
6.5 私有
6.6 成员函数的声明和定义
6.7 为什么将成员函数的声明和定义分开
6.7.1 普通内联函数
6.7.2 成员内联函数
6.8 将类声明和定义部分保存在头文件中
6.9 const成员函数
6.10 构造函数
6.11 默认构造函数
6.12 析构函数
6.13 析构对象数组

第7章 循环语句
7.1 循环语句的前身——goto语句
7.2 慎用goto语句
7.3 while语句
7.3.1 带运算符的while语句
7.3.2 以字符为条件的while语句
7.3.3 限定while循环的次数
7.3.4 continue语句
7.3.5 break语句
7.3.6 永不休止的while循环
7.4 do… while循环
7.5 for循环
7.5.1 灵活的for循环
7.5.2 条件为空的for循环
7.5.3 执行为空的for循环
7.5.4 嵌套的for循环
7.6 switch语句
7.6.1 switch语句常见错误
7.6.2 switch的菜单功能
7.7 总结

第8章 指针
8.1 什么是地址
8.2 用指针来保存地址
8.2.1 空指针
8.2.2 指针与变量类型
8.2.3 用指针来访问值
8.2.4 指针地址. 指针保存的地址和该地址的值
8.2.5 指针对数值的操作
8.2.6 更换指针保存的地址
8.3 为什么使用指针
8.3.1 栈和堆
8.3.2 用指针创建堆中空间
8.3.3 用指针删除堆中空间
8.4 动态内存
8.4.1 内存泄漏
8.4.2 在堆中创建对象
8.4.3 在堆中删除对象
8.4.4 访问堆中的数据成员
8.4.5 在构造函数中开辟内存空间
8.4.6 对象在栈与堆中的不同
8.5 this指针
8.6 指针的常见错误
8.7 指针运算
8.7.1 指针的加减运算
8.7.2 指针的赋值运算
8.7.3 指针的相减运算
8.7.4 指针的比较运算
8.8 指针
8.8.1 常量指针
8.8.2 指向常量的指针
8.8.3 指向常量的常指针
8.9 总结

第9章 引用
9.1 什么是引用
9.1.1 引用的地址
9.1.2 引用就是别名常量
9.1.3 引用对象
9.1.4 空引用
9.2 函数的参数传递
9.2.1 通过值来传递函数参数
9.2.2 通过指针来传递函数参数
9.2.3 通过引用来传递函数参数
9.2.4 让函数返回多个值
9.3 传递对象
9.3.1 用值来传递对象
9.3.2 使用指针来传递对象
9.3.3 使用const指针来传递对象
9.3.4 使用引用来传递对象
9.3.5 到底是使用引用还是指针
9.3.6 引用和指针可以一块用
9.4 引用应注意的问题
9.4.1 引用容易犯的错误
9.4.2 引用一个按值返回的堆中对象
9.4.3 引用一个按别名返回的堆中对象
9.4.4 在哪里创建,就在哪里释放
9.5 总结

第10章 深入函数
10.1 函数重载
10.1.1 普通函数的重载
10.1.2 成员函数的重载
10.2 函数的默认参数
10.3 重载构造函数
10.3.1 成员变量的初始化
10.3.2 成员变量的初始化与构造函数
10.3.3 复制构造函数
10.3.4 构造函数和new运算符
10.3.5 再谈默认构造函数
10.4 析构函数和delete运算符
10.4.1 默认析构函数
10.4.2 调用构造函数进行类型转换
10.5 浅层复制构造函数
10.6 深层复制构造函数

第11章 运算符重载
11.1 运算符重载
11.2 在成员函数中实现自加
11.3 重载前置自加运算符
11.4 创建临时对象
11.5 创建无名临时对象
11.6 取消创建临时对象
11.7 重载后置自加运算符
11.8 重载加法运算函数operator+
11.9 重载赋值运算函数operator=
11.10 转换类型运算符
11.10.1 温习调用构造函数实现的类型转换
11.10.2 通过构造函数将变量转换为一个对象的成员变量
11.10.3 通过operator关键字进行转换
11.11 什么可以被重载,什么不可以

第12章 继承
12.1 什么是继承和派生
12.1.1 复杂的继承和派生
12.1.2 继承和派生如何在C++中实现
12.1.3 继承的种类及语法
12.1.4 单一继承
12.2 公有型. 保护型和私有型
12.3 访问权限
12.4 多重继承
12.5 继承的构造与析构
12.6 向基类构造函数传递参数
12.7 继承和重载的两义性问题
12.7.1 多重继承容易产生两义性
12.7.2 两义性在重载时的一些问题
12.7.3 两义性的归属问题
12.7.4 减少两义性产生的混淆问题
12.7.5 虚基类不会产生两义性
12.8 总结

第13章 虚函数
13.1 指向对象的指针
13.2 虚函数
13.3 拳击游戏
13.4 继承是否可以实现多态性
13.5 在编译时的静态联编
13.6 在运行时的静态联编
13.7 在编译时的动态联编
13.8 在运行时的动态联编
13.9 调用虚函数
13.9.1 在虚函数中调用成员函数
13.9.2 三种调用虚函数的方式比较
13.10 被继承的虚函数仍然是虚函数
13.11 系统是如何调用虚函数的
13.12 在虚函数中使用成员名限定
13.13 虚析构函数

第14章 数组
14.1 数组的基本用法
14.1.1 什么是数组
14.1.2 数组元素
14.1.3 数组下标越界
14.1.4 倒序输出
14.1.5 将数组的下标定义为常量
14.1.6 手动操作数组元素
14.1.7 数组的初始化
14.2 数组的用途
14.2.1 求平均考试成绩
14.2.2 兔子繁殖问题
14.2.3 数字排序问题
14.3 数组在内存中的分布
14.4 输出数组名
14.5 数组名与函数
14.6 传递与接收
14.7 数组与函数
14.7.1 函数传参实例一——求数组所有元素的和
14.7.2 函数传参实例二——用递增法查找数据
14.7.3 函数传参实例三——用二分法查找数据
14.7.4 函数传参实例四——判断数组是否按照顺序排列
14.7.5 函数传参实例五——判断数组排列方式后执行不同的函数
14.8 数组在对象中的传参
14.9 数组对象
14.10 在数组对象中初始化成员变量
14.11 指针数组
14.12 枚举常量与数组..
14.13 多维数组
14.14 多维数组的初始化
14.15 字符数组
14.16 重载数组下标操作符

第15章 链表
15.1 声明链表结构
15.2 简单的图书链表
15.2.1 图书链表
15.2.2 类的链表
15.3 动态链表
15.3.1 动态链表的建立
15.3.2 解决输入字符造成死循环的问题
15.3.3 动态链表的显示
15.3.4 动态链表的删除
15.3.5 动态链表的插入
15.3.6 链表统计
15.3.7 使用链表
15.4 完整的动态链表清单
15.5 链表使用案例——走迷宫
15.5.1 创建Windows应用程序项目
15.5.2 创建窗口
15.5.3 加载图片
15.5.4 句柄是什么
15.5.5 显示图片
15.5.6 动画
15.5.7 键盘控制人物移动
15.5.8 迷宫墙壁
15.5.9 走迷宫
15.5.10 用链表记录行走路线

第16章 多态性
16.1 为什么要使用多重继承
16.2 在派生类中增加函数
16.3 使用多重继承
16.4 多重继承中初始化构造函数的参数
16.5 多个子基类共享一个父基类
16.6 虚基类
16.7 慎用多重继承
16.8 空的虚函数
16.9 抽象类和纯虚函数
16.10 纯虚函数
16.11 复杂的抽象结构

第17章 类的特殊成员
17.1 静态成员变量
17.2 私有静态成员变量
17.3 静态成员函数
17.4 静态成员的使用
17.5 函数指针
17.6 函数指针数组
17.7 函数指针也可以作为函数的参数
17.8 使用typedef简化函数指针的声明及定义
17.9 类的函数指针
17.10 成员函数指针数组

第18章 字符串
18.1 char型字符串
18.2 string型字符串
18.2.1 string型字符串的赋值
18.2.2 string型字符串的合并
18.2.3 string型字符串的部分合并
18.2.4 string型字符串的替换
18.2.5 string型字符串的复制
18.2.6 string型字符串的插入
18.2.7 string型字符串的删除
18.2.8 string型字符串的查找
18.2.9 string型字符串的比较
18.2.10 判断string型字符串是否为空
18.3 字符串的使用
18.3.1 swap() 交换两个字符串的内容
18.3.2 将string型字符串转为char型字符串
18.3.3 char型字符串与函数
18.3.4 函数如何返回字符串
18.4 结构体
18.4.1 结构体的赋值
18.4.2 结构体与函数
18.4.3 结构体与string
18.5 string数组与函数
18.6 流的使用
18.6.1 重载输出运算符<<
18.6.2 友元的方式重载输出运算符
18.6.3 重载自加运算符的执行次序
18.6.4 重载输入运算符>>
18.7 编写一个String类
18.7.1 创建String类
18.7.2 创建可自动调节大小的String类字符串对象
18.7.3 限制数组越界
18.7.4 用复制构造函数实现字符串的赋值功能
18.7.5 用重载赋值运算符函数实现真正的字符串赋值功能
18.7.6 用重载输出运算符operator<<()函数实现字符串的输出
18.7.7 用重载输入运算符operator>>()函数实现字符串的输入
18.7.8 用重载比较运算符实现字符串的比较
18.7.9 为String类添加字符串的相加功能
18.7.10 为String类添加字符串的+=功能
18.7.11 完成后的String类

第19章 代码重用
19.1 包含
19.2 将String类作为包含类
19.3 为book类重载执行相加运算的成员函数
19.4 包含对系统造成的消耗
19.5 按别名传递book对象
19.6 包含指向另一个类的指针
19.6.1 数据类Date
19.6.2 链表类Node
19.6.3 标签类linkelist
19.6.4 头节点类HeadNode
19.6.5 尾节点TailNode类
19.6.6 中间节点InterNode类
19.6.7 InterNode类的构造函数
19.6.8 InterNode类的插入函数
19.6.9 全部程序
19.7 将头节点. 中间节点和尾节点合并为一个节点
19.7.1 数据类Date
19.7.2 由Date类派生的图书类Book
19.7.3 由Date类派生的药品类medica
19.7.4 创建一个节点类Node
19.7.5 用来操作节点类Node的list类
19.7.6 list类的getfirst()方法
19.7.7 list类的operator[]方法
19.7.8 list类的repeat()方法
19.7.9 list类的insert()方法
19.7.10 list类的find()方法
19.7.11 重写的药品管理全部程序
19.8 利用类的包含来实现代码重用
19.9 私有继承
19.10 什么时候使用私有继承,什么时候使用包含
19.11 保护继承

第20章 友元类与嵌套类
20.1 友元类
20.2 嵌套类

第21章 流
21.1 流的操作
21.1.1 缓冲
21.1.2 流和缓冲区
21.1.3 标准输入输出对象
21.1.4 重定向
21.1.5 对象代表流
21.2 用cout输出
21.2.1 重载运算符operator<<
21.2.2 清理缓冲区
21.2.3 有关输出的相关函数
21.2.4 设置输出的字段宽度
21.2.5 设置填充字段
21.2.6 设置浮点数的显示精度
21.2.7 输出末尾的0
21.2.8 设置标志
21.2.9 setf()函数原型
21.2.10 所有15个标志以及3个指示标志
21.2.11 unset()函数
21.2.12 标准控制符
21.2.13 iomanip头文件与标准控制符
21.3 用cin输入
21.3.1 字符串的输入
21.3.2 字符串的输入问题
21.3.3 get()函数
21.3.4 带字符引用参数的get()函数
21.3.5 带2个参数的get()函数
21.3.6 带3个参数的get()函数
21.3.7 getline()函数
21.3.8 read()函数
21.3.9 gcount()函数
21.3.10 peek()函数
21.3.11 putback()函数
21.4 文件的输入和输出
21.4.1 输出数据到文件
21.4.2 读取文件中的数据
21.4.3 读取空格及空格后面的字符
21.5 多种打开文件的方式
21.6 检查文件是否打开
21.7 二进制文件和文本文件
21.7.1 以文本形式输出到文件
21.7.2 以二进制形式输出到文件
21.8 打开多个文件
21.9 命令行处理文件
21.10 使用命令行处理文件例程
21.11 指定读取文件中的数据
21.12 输出数据到文件指定位置处
21.13 seekp()和seekg()函数的结合使用
21.14 临时文件
21.15 sstream字符串输入输出流类

第22章 命名空间
22.1 什么是命名空间
22.2 创建命名空间
22.2.1 扩充命名空间的内容
22.2.2 尽量在命名空间之外定义函数
22.2.3 命名空间中的成员都是公有的
22.3 使用命名空间
22.4 使用关键字using
22.5 为你的命名空间取个别名
22.6 未命名的命名空间
22.6.1 未命名命名空间与全局变量的区别
22.6.2 未命名命名空间与static的区别
22.6.3 未命名命名空间. static与extern的区别
22.7 标准命名空间std

第23章 模板
23.1 什么是模板
23.2 重载模板
23.3 具体化函数模板
23.3.1 函数模板不能重载
23.3.2 具体化函数模板解决重载问题
23.3.3 具体化函数模板与实例化模板函数
23.4 普通函数. 函数模板与具体化函数模板的优先级
23.4.1 普通函数和函数模板的执行次序
23.4.2 函数模板与具体化函数模板的执行次序
23.4.3 具体化函数模板与普通函数的优先级
23.5 函数模板的匹配
23.6 类模板的定义
23.7 复杂类模板
23.8 数组模板
23.9 对象数组模板
23.10 具有多个参数的模板
23.11 为模板参数提供默认值
23.12 约束模板
23.13 模板成员
23.14 将模板用作参数
23.15 模板和友元
23.15.1 非模板友元类和友元函数
23.15.2 通用模板友元类和友元函数
23.15.3 特定类型模板友元函数
23.16 多余的临时对象
23.17 静态成员和模板
23.18 标准模板库
23.18.1 容器
23.18.2 顺序容器
23.18.3 关联容器
23.18.4 算法类
23.18.5 总结

第24章 异常和错误处理
24.1 异常
24.2 设置多条catch语句
24.3 异常的派生
24.4 创建异常类的成员函数
24.5 异常类的虚函数
24.6 异常类与模板的关系

第25章 补充内容
25.1 预处理过程
25.1.1 预处理指令
25.1.2 #include指令
25.1.3 #define指令
25.1.4 用#define指令替换常量
25.1.5 用#define定义一个特定字符串并对其进行测试
25.1.6 #ifdef. #define和#endif的用途
25.1.7 带参数的#define
25.1.8 宏与内联函数
25.1.9 #运算符
25.1.10 ##运算符
25.1.11 #undef指令
25.1.12 #if指令
25.1.13 #endif指令
25.1.14 #if defined指令
25.1.15 #ifdef和#ifndef指令
25.1.16 #elif指令
25.1.17 #error指令
25.1.18 #line指令
25.1.19 #pragma 指令
25.2 预定义的宏
25.3 assert()宏
25.4 尝试编写一个简单的assert()宏
25.5 不能为0的变量
25.6 用宏函数来输出表达式的值
25.7 调试的级别
25.8 C++类型转换及运行时类型信息(RTII)
25.8.1 动态类型转换符
25.8.2 静态类型转换
25.8.3 重新解释类型转换
25.8.4 常类型转换
25.8.5 运行时类型信息
25.9 关键字volatile
25.10 关键字const
25.11 关键字mutable
25.12 联合数据类型union
25.13 联合数据类型的内存占用
25.14 匿名联合体
25.15 再谈指针
25.15.1 指针与数组
25.15.2 指针操作多维数组
25.15.3 指向多维数组的指针作为函数参数
25.15.4 字符串的指针
25.15.5 接受字符串指针的函数
25.15.6 指向字符串的指针变量与字符数组的区别
25.15.7 指向函数的指针
25.15.8 指向函数的指针的用途
25.15.9 指针数组
25.15.10 指向指针的指针
25.16 位运算
25.16.1 按位与“&”运算符
25.16.2 按位或“|”运算符
25.16.3 异或“^”运算符
25.16.4 取反“~”运算符
25.16.5 左移“<<”运算符
25.16.6 右移“>>”运算符
25.16.7 复合位运算符
25.16.8 不同长度数字的位运算
25.16.9 位运算的实例
25.17 位字段
25.18 区域差异
25.18.1 locale类
25.18.2 默认区域表示或全局区域表示
25.18.3 时间与地理设置
25.18.4 locale与time.h中时间函数的搭配使用
25.18.5 区域表示locale与流的搭配使用
25.18.6 区域表示locale与模板的搭配使用

附录A ASCII码对照表
附录B C++的关键字
附录C C++常用头文件列表


 


 


 


 


 


 




YES89   举报



下 完了 真垃圾 看不了 视频部分每个文件都是一段 一段 没有完整的 着能学吗 大家下完 看看视频文件都是SWF的 绝大多数都看不完就断掉了



[+45] [-8] [回复]


回到最上







差不多就行了吧   举报



咨询了下作者,问他到底购买旧版还是新版好,回答如下:
我就不明白了,为什么旧版的书比新版的销量还好,《零起点学通c++》把《从新手到高手C++全方位学习(附赠DVD光盘1张) (平装)》的错误都改过来,同时在高级篇那里增加了实例,这些实例就是为了凸显流、模板、异常的作用,比如说流的结尾为第19章的代码增加了读取和写入数据到文件的功能,这段代码如果掌握的话,那么流你就掌握了,而模板那一章则用了抢劫犯等比较形象的例子来说明复杂抽象的概念,同时在结尾处用300行代码来重写了一个学生成绩管理系统,这个系统全部用STL来编写,涉及到STL的各个细节,假如这个程序能够掌握的话,那么STL也就掌握了。异常那一章增加了智能指针,形象地表述了智能指针的作用以及智能指针与STL的冲突,结尾则通过一个通讯录来演示异常的作用。
假如细心看的话,《零起点学通c++》等于对原书的一次重写,该书更加通俗易懂,框架更加合理,表述更加精准,实例也多于《从新手到高手:C++全方位学习》,视频也多于《从新手到高手:C++全方位学习》,我花费了半年多时间来修改此书,又花费半年时间增加了3章视频,同时修改了视频中一些语误,增加了DEV工具以及该工具的介绍,3个集成开发环境VS2005、DEV、VC6.0的比较,增加了专用播放器和VC6.0的补丁,增加了一些难点解析(都是读者来信提出的难点,光盘中通过视频的方式进行回答),这些功夫当然不会白做的。

另外回答一些其他人都会问到的问题,免得你再次问。

1 :问:我学完了您这本C++书后,MFC和.net应该学哪个呢?

答:两者都可学,推荐MFC。MFC开发出的程序运行效率比.net高,.net始终要拖一个库,.net不太稳定,MFC的比较稳定,MFC开发程序周期较长,因为程序员不熟练,熟练后比.net要快,而且有一点很重要,MFC程序员转向.net只需要几个月,而.net程序员要转向MFC则需要几年,有的甚至一辈子都完成不了这个转换。好多人说MFC没有.net好,是因为.net比较好学,而MFC能够学会并且熟练运用的人,在全中国也屈指可数。

2:问:学MFC的话,我打算看《windows程序设计》第五版,但是学.net的话,不知道看哪本书了。想问一下您,MFC和.net,我应该学哪个好呢?


答:学MFC的话,学习周期要长一些,首先看《windows程序设计》来了解一下windows 中的API函数,要查阅API函数可以参阅《精通Windows.API-函数、接口、编程实例》或者MSDN,当你对API有了全盘的了解,同时对windows的消息机制有个大致的了解以后,再看《VC技术内幕第四版 》,这时你才能体会到MFC的好处,MFC以C++类的形式封装了Windows的API,并且包含一个应用程序框架,大大地减少了应用程序开发人员的工作量。传统的win32开发(直接使用windows的接口函数API)对于程序员来说非常的困难,因为,API函数实在太多了,而且名称很乱,从零构架一个窗口动辄就是上百行的代码。MFC是面向对象程序设计与应用程序框架的完美结合,他将传统的API进行了分类封装,并且为你创建了程序的一般框架, MFC对Windows API的封装,大大简化了我们的工作;学VC主要就是要学MFC,大约有100多个类,但常用的也就二三十个。应该象背4级单词一样将这些常用类搞懂;当然不要死记,要通过看帮助、看例子、动手练习来学会它们;而且,并非每个类的内部的所有函数都要学会,要日积月累。如果真的想成为高手,做个笔记本把自己认为重要的类、函数记下来,随时学习,也是很好的突击方法。最后,当你学通了MFC以后,假如想对MFC的运行机理有个深入的了解,比如说MFC是如何设计出来的,那么推荐你看《深入解析MFC》或者《深入浅出MFC》,这样会提升你的MFC功力。我目前正在考虑如何将这3本书完美的融合在一起,同时更加通俗一些,因为这3本书引用的术语太多,用术语来解释术语不是一种好的写作手法,这是技术书作者的一个通病。

TOP

TOP

好书,强书。楼主好人。yeah。

TOP

学一下  谢谢楼主

TOP

发新话题