﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-李小生-随笔分类-读书笔记</title><link>http://www.cppblog.com/harry-li/category/1627.html</link><description>You can call me Harry!</description><language>zh-cn</language><lastBuildDate>Wed, 21 May 2008 21:18:50 GMT</lastBuildDate><pubDate>Wed, 21 May 2008 21:18:50 GMT</pubDate><ttl>60</ttl><item><title>TIC笔记1</title><link>http://www.cppblog.com/harry-li/archive/2006/05/09/6795.html</link><dc:creator>Harry</dc:creator><author>Harry</author><pubDate>Mon, 08 May 2006 16:02:00 GMT</pubDate><guid>http://www.cppblog.com/harry-li/archive/2006/05/09/6795.html</guid><wfw:comment>http://www.cppblog.com/harry-li/comments/6795.html</wfw:comment><comments>http://www.cppblog.com/harry-li/archive/2006/05/09/6795.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/harry-li/comments/commentRss/6795.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/harry-li/services/trackbacks/6795.html</trackback:ping><description><![CDATA[
		<font size="6">前言</font>
		<br />
		<br />
1。本书讨论的是编程问题,讨论了<br />
    1）。为什么它是问题<br />
    2）。用C＋＋解决编程问题所采用的方法<br /><br /><br /><font size="5">章节安排</font><br /><br />
1。对象的演化。讨论了<br />
   1)。面向对象程序设计思想；<br />
   2)。如何运用这一思想解决软件危机问题；<br />
   3)。将阐述采用这种语言的好处,提出如何转入C＋＋世界的建议。<br /><br />
2。数据抽象。C＋＋的根本思想：创建新数据类型的能力。通过如何<font color="#ff0000">将函数放入结构内部</font>的简单过程而实现这一思想;可以看到如何具体地完成这样的过程和创建什么样的代码。<br /><br />
3。隐藏实现。把下层实现和客户程序员看到的接口隔离开。C＋＋使用关键词class作为描述新数据类型的更奇特的方法。<br /><br />
4。初始化和清除。C＋＋的构造函数使得程序员能保证他的新数据类型的变量（即类的对象）总是能被恰当地初始化；析构函数完成其的清除。<br /><br />
5。函数重载和缺省参数。复杂的项目可能会引进使用相同函数名的多个库，还可能会在同一个库中选择具有不同含义的相同名字。C＋＋的函数重载使这一问题容易解决。重载允许当参数表不同时重用相同的函数名。缺省参数能自动地对某些缺省的参数提供缺省值。<br /><br />
6。输入输出流。I／O库更易使用、灵活，且更可扩充－－可以让它和新类一起工作。<br /><br />
7。常量。const和volatile关键字。还说明const的含义<font color="#ff0000">在类的内部和外部有何不同</font>；如何在类的内部创建编译时常量。<br /><br />
8。内联函数。内联函数具有预处理宏（<font color="#ff0000">省去了函数调用开支</font>）和实际函数调用（<font color="#ff0000">有价值的C++类型检查</font>）的所有好处。<br /><br />
9。命名控制。C＋＋的两个控制名字的技术<br />
    1。）static关键字用以控制可视性和连接，还将研究它对于类的特殊含义。<br />
    2。）namespace，它允许把<font color="#ff0000">全局</font>名字空间划分为不同的区域。<br /><br />
10。引用和拷贝构造函数。<font color="#ff0000">当我们使用平常的符号时，引用让编译器处理地址操作</font>。拷贝构造函数控制对象通过传值方式传送给函数或从函数中返回。指向成员的指针（pointer to member）。<br /><br />
11。运算符重载。<font color="#ff0000">运算符也是函数调用</font>。运算符重载只是不同类型的函数调用。要学会如何写自己的运算符重载，特别是当参数、返回类型混合使用和让运算符成为成员和友元时。<br /><br />
12。动态对象创建。<br /><br />
13。继承和组合<br />
    1）。用组合方法，可以以老的类型作为零件<font color="#ff0000">组装成新的</font>类型。<br />
    2）。用继承方法，可以创建已存在类型的一个<font color="#ff0000">更特殊的</font>版本。<br /><br />
14。多态和虚函数。关键字virtual允许笼统地谈论这个族中的所有对象。<br /><br />
15。模板和包容器类。模板为编译器提供了一种在类或函数体中代换类型名的方法。<br /><br />
16。多重继承。当需要通过用一个以上公共基类操作对象时，多重继承才是唯一必需的。介绍如何用模板解决一个共同的问题。<font color="#0000ff">:）作者不提倡使用多重继承？:)<font color="#000000">用多重继承修理一个“受损”的类界面是这一性能的主要的和非常有价值的应用。<br /><br />
17。异常处理。<br /><br />
18。运行时类型识别（RTTI）.当我们仅给出一个指向基本类型的指针或引用时RTTI可以找出对象的准确类型。通常，我们会有意忽略对象的准确数据类
型，而让虚函数机制来实现这个类的正确行为，而知道准确类型将更有效地完成特殊情况的运算。解释了RTTI做什么和如何使用它。<br /><br /><br /></font></font><img src ="http://www.cppblog.com/harry-li/aggbug/6795.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/harry-li/" target="_blank">Harry</a> 2006-05-09 00:02 <a href="http://www.cppblog.com/harry-li/archive/2006/05/09/6795.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>TIC(Thinking in C++)笔记2</title><link>http://www.cppblog.com/harry-li/archive/2006/05/01/6506.html</link><dc:creator>Harry</dc:creator><author>Harry</author><pubDate>Sun, 30 Apr 2006 19:15:00 GMT</pubDate><guid>http://www.cppblog.com/harry-li/archive/2006/05/01/6506.html</guid><wfw:comment>http://www.cppblog.com/harry-li/comments/6506.html</wfw:comment><comments>http://www.cppblog.com/harry-li/archive/2006/05/01/6506.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/harry-li/comments/commentRss/6506.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/harry-li/services/trackbacks/6506.html</trackback:ping><description><![CDATA[1。类描述了一组有相同特性(数据元素)和相同行为(函数)的对象。程序员定义类是为了与具体问题相适应；已存在的数据类型（内部类型）的设计动机是为了
描述机器的存储单元。例如：Integer类与int类型，前者是数学意义上的整数，后者是内存的一种存储单元（即4个字节长度的存储空间）。<br /><br />2。关于继承。程序员创建一个基本类型以描述系统中一些对象的<font style="background-color: rgb(255, 153, 0);">思想核心</font>。由这个基本类型派生出其它类型，表达了认识该核心的<font style="background-color: rgb(255, 153, 0);">不同途径</font>。<img src ="http://www.cppblog.com/harry-li/aggbug/6506.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/harry-li/" target="_blank">Harry</a> 2006-05-01 03:15 <a href="http://www.cppblog.com/harry-li/archive/2006/05/01/6506.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>