2006年5月9日

昨天晚上忙了一个晚上.本来觉得原来的WINDOWS2003server不太适合个人使用,(限制太多了!呵呵)想装回XP.但是怎么也装不上:(

系统盘一到"检查硬件设置"时,就不动了,好象也没死机...机器大概配置是AMD ATHLON 64 2800+  ,  SATA的硬盘, PCI E的显卡,其他没什么特别的了.

但是用2003SERVER又能正常安装,没办法又只能装回它了.因为原来装过LINUX,有几个EXT的分区,也顺便把它们的格式删了,装好2003后把他们格式化为FAT32了.

又试着装红旗,这次竟然装成功了.上次装了2003后老装不上,一到分区的时候就说没有存储器初始化的信息,是否进行初始化.饿的苍天啊!...我想了想,是不是上次装2003的时候没有把原来的几个EXT分区删除重新格式化的问题? 难道LINUX连自己的文件格式都不认识了? 偶是菜菜鸟.

进一步推想,XP装不上是不是也是这个原因呢?

反正是忙碌了一晚上,笔记只好写到今天凌晨了

posted @ 2006-05-09 22:19 Harry 阅读(129) | 评论 (0)编辑 收藏

前言

1。本书讨论的是编程问题,讨论了
    1)。为什么它是问题
    2)。用C++解决编程问题所采用的方法


章节安排

1。对象的演化。讨论了
   1)。面向对象程序设计思想;
   2)。如何运用这一思想解决软件危机问题;
   3)。将阐述采用这种语言的好处,提出如何转入C++世界的建议。

2。数据抽象。C++的根本思想:创建新数据类型的能力。通过如何将函数放入结构内部的简单过程而实现这一思想;可以看到如何具体地完成这样的过程和创建什么样的代码。

3。隐藏实现。把下层实现和客户程序员看到的接口隔离开。C++使用关键词class作为描述新数据类型的更奇特的方法。

4。初始化和清除。C++的构造函数使得程序员能保证他的新数据类型的变量(即类的对象)总是能被恰当地初始化;析构函数完成其的清除。

5。函数重载和缺省参数。复杂的项目可能会引进使用相同函数名的多个库,还可能会在同一个库中选择具有不同含义的相同名字。C++的函数重载使这一问题容易解决。重载允许当参数表不同时重用相同的函数名。缺省参数能自动地对某些缺省的参数提供缺省值。

6。输入输出流。I/O库更易使用、灵活,且更可扩充--可以让它和新类一起工作。

7。常量。const和volatile关键字。还说明const的含义在类的内部和外部有何不同;如何在类的内部创建编译时常量。

8。内联函数。内联函数具有预处理宏(省去了函数调用开支)和实际函数调用(有价值的C++类型检查)的所有好处。

9。命名控制。C++的两个控制名字的技术
    1。)static关键字用以控制可视性和连接,还将研究它对于类的特殊含义。
    2。)namespace,它允许把全局名字空间划分为不同的区域。

10。引用和拷贝构造函数。当我们使用平常的符号时,引用让编译器处理地址操作。拷贝构造函数控制对象通过传值方式传送给函数或从函数中返回。指向成员的指针(pointer to member)。

11。运算符重载。运算符也是函数调用。运算符重载只是不同类型的函数调用。要学会如何写自己的运算符重载,特别是当参数、返回类型混合使用和让运算符成为成员和友元时。

12。动态对象创建。

13。继承和组合
    1)。用组合方法,可以以老的类型作为零件组装成新的类型。
    2)。用继承方法,可以创建已存在类型的一个更特殊的版本。

14。多态和虚函数。关键字virtual允许笼统地谈论这个族中的所有对象。

15。模板和包容器类。模板为编译器提供了一种在类或函数体中代换类型名的方法。

16。多重继承。当需要通过用一个以上公共基类操作对象时,多重继承才是唯一必需的。介绍如何用模板解决一个共同的问题。:)作者不提倡使用多重继承?:)用多重继承修理一个“受损”的类界面是这一性能的主要的和非常有价值的应用。

17。异常处理。

18。运行时类型识别(RTTI).当我们仅给出一个指向基本类型的指针或引用时RTTI可以找出对象的准确类型。通常,我们会有意忽略对象的准确数据类 型,而让虚函数机制来实现这个类的正确行为,而知道准确类型将更有效地完成特殊情况的运算。解释了RTTI做什么和如何使用它。


posted @ 2006-05-09 00:02 Harry 阅读(324) | 评论 (0)编辑 收藏


2006年5月1日

1。类描述了一组有相同特性(数据元素)和相同行为(函数)的对象。程序员定义类是为了与具体问题相适应;已存在的数据类型(内部类型)的设计动机是为了 描述机器的存储单元。例如:Integer类与int类型,前者是数学意义上的整数,后者是内存的一种存储单元(即4个字节长度的存储空间)。

2。关于继承。程序员创建一个基本类型以描述系统中一些对象的思想核心。由这个基本类型派生出其它类型,表达了认识该核心的不同途径

posted @ 2006-05-01 03:15 Harry 阅读(604) | 评论 (0)编辑 收藏


2006年4月24日


FatherClass* fc = new  SonClass();

在上面这条语句中,SonClass是FatherClass的子类。

这条语句表达了什么?

1。动态创建了一个SonClass类的对象。
2。声明了一个FatherClass类的指针。
3。把FatherClass的指针指向了SonClass类的这个对象,或者说,把SonClass类的这个对象的地址赋给了FatherClass的指针。

C++的多态(polymorphism)特性通过这条语句得以体现,“让基类的pointer 或reference得以十分透明地指向其任何一个派生类的对象(Essential C++中文版)”。

欢迎大家讨论!

posted @ 2006-04-24 22:39 Harry 阅读(335) | 评论 (0)编辑 收藏


2006年4月21日

我定义了一个类,定义如下:

 

class  SimpleClass
{
  
public :
    SimpleClass(
int  value = 0 );
    SimpleClass
&   operator + ( const  SimpleClass &  right)  const ;
    
void   operator = ( const  Simple &  right);

    
int  m_iValue;
}


SimpleClass
&  SimpleClass:: operator + ( const  SimpleClass &  right) const
{
  SimpleClass
*  scPlusResult = new  SimpleClass();
  scPlusResult
-> m_iValue = m_iValue + right.m_iValue;

  
return   * scPlusResult; 
}


void  SimpleClass:: operator = ( const  SimpleClass &  right)
{
  m_iValue
= right.m_iValue;
}


int  mian()
{
  SimpleClass sc1
= new  SimpleClass( 1 );
  SimpleClass sc2
= new  SimpleClass( 2 );
  SimpleClass sc3
= new  SimpleClass();

  sc3
= sc1 + sc2;

  delete sc1;
  delete sc2;
  delete sc3;

  
return   0 ;
}



///////////////////////////////////////////////////////////////////////////

提问:
1。符号+的重载里scPlusResult的资源在最后释放掉了吗?如果没有,要怎么实现?
2。对于符号+的重载还有其他的实现方法吗?

热烈欢迎大家讨论!!!!

posted @ 2006-04-21 22:41 Harry 阅读(409) | 评论 (3)编辑 收藏


2005年10月21日

开张了

posted @ 2005-10-21 23:57 Harry 阅读(98) | 评论 (0)编辑 收藏


仅列出标题  

posts - 6, comments - 3, trackbacks - 0, articles - 1

Copyright © Harry