[阅读: 354] 2006-04-15 12:09:39
李幼仪:清华大学自动化专业博士,长期从事系统软件分析。
甘志:上海交大计算机应用专业博士,专业研究网络安全和密码理论。
本人:最高学历小学三年级,从来也没有老师教过我一堂电脑课且36岁才开始玩电脑,只是身经百战杀出来草莽英雄。
两位大师级人物写的所有书,都不是软件开发的中级水平能读懂的,如C++ Builder高级应用开发指南,Delphi 7高级应用开发篇等,都是二位的大作。
但软件大师也未必不说出很低级的谬论,请看此两位大师之言:
C++ Builder高级应用开发指南第15页:
class TDate
{
public:
int Year,Month,Day;
void SetValue(int Year,int Month,int Day);
bool LeapYear();
};
int main()
{
TDate d1;
TDate pd2=new TDate();
d1.SetValue(2001,1,1);
pd2->SetValue(2001,1,1);
if(d1.LeapYear())
printf("Leap year:%d",d1.Year);
delete pd2;(本人注:用在此处也是错的,但原书如此)
if(pd2->LeapYear())
printf("Leap year:%d",pd2->Year);
}
如果只有delete pd2用错地方,我不会说什么,因为可能是排版错误。
TDate pd2=new TDate();这句绝对是错的,正确应该为TDate *pd2=new TDate();我最初也当其是排版错误。
但你请看第15页下面一段话:
由上面的程序可以看出,可以用两种方法生存一个类的对象,静态生成得对象用“.”号来引用对象的方法和属性,动态生成得对象用“->”号来引用对象的方法和属性......
第十六页:VCL类以及用户从VCL派生的类只能采用动态生成的方式建立。
我笑得快要喷饭了,不得不怀疑这两位老兄C++入门了没有!现在我正仔细往下看,里面错漏百出,到时一并拿出来共享。
我本不想在这里发,我原本发邮件给清华大学出版社的总编要求更正。然而,也许因为本人什么学历也没有,在这个重文凭的社会,他
理都不理我。