Reported Errors in
(Last modified 16 October 1998)
Readers of the first or second printing should also look at
list of typos and errors corrected in
third printing
Readers of the 3rd or 4th printing should llok at the
list of typos and errors corrected in
the fifth printing
To find your printing number, locate the first number in
sequence on the copyright page (between title and preface page).
Chapter 2.
- Page 43, Figure 2.5
- all means should be all meals
(js)
Page 44, 14 lines from bottom
- An decision should be a decision
(el)
Chapter 3.
- Page 66, 12 lines from the bottom.
-
Should mention that when inline definitions appear in the class
body, the keyword inline is omitted.
(tv)
- Page 69
-
Class definition should not end with a semicolon
- Page 69
-
Data fields should be declared as static
Chapter 4.
- Page 79, first line,
- missing word "that can be modified"
(pm)
- Page 84, line 6
- argument should be real (hw)
Chapter 5.
- Page 104, C++ example
-
The pointer to the neighbor could be declared as constant.
(not the thing it points to, but the pointer itself).
(dp)
- Page 110, Objective-C example (also 385 in Appendix A)
-
The sentinel queen should return 0 (false) when asked to advance, not one.
(rr)
- Page 106
- The applet in Java appears to reverse the sense of row and column.
Chapter 6.
- initialization
-
The initialization routines for each of the graphical objects should
have set the link field to nil.
- Page 119
- The class description for ball is missing the method setCenter
(ch)
Chapter 7.
- Page 132, first line
-
sometime should be sometimes (plural)
(tv)
- Page 137, line 18
- in shown should be is shown
(tv)
- page 141
-
Third paragraph, 2nd line, an the other should be and the other
(ma)
Chapter 8.
Chapter 9.
- Page 170, 3rd paragram
-
form a subset should be ``form a superset''
(gr)
- Page 175, line 8
-
Uses inheritance mechanism should be uses the inheritance mechanism
(insert the word the).
(tv)
- Page, 177, last sentence
-
Because mangers, should bemanagers.
(tl)
Chapter 10.
- Page 181, four lines from bottom
-
sets as sets should be such as sets
(tv)
- Page 183, 12 lines from bottom
- an ClassInfo should be a ClassInfo (an to a).
(tv)
- Page 186-187
- Missing close parenthesis on printf statements
(jv)
- Page 190
- operator instanceOf should be instaceof (lower case O)
(gr)
- Page 190
- should be system.out.println(a.name), rather than println(a), in the java
examples. (two errors)
(fa), and
(tl)
- Page 190, bottom of page
-
The keyword Class should be removed from the declaration
of the two variables.
(kp)
- Page 197, top of page
-
covert => convert (rm)
Chapter 11.
- Page 208, section 11.5
-
First sentence is misleading. Java also uses refinement semantics for constructors.
- Page 209, code
-
class Card should be capital
(hl)
Chapter 12.
- Page 225
- The whole discussion of covariance and contravariance is a mish-mash
that is difficult to follow.
For the coming 3rd edition of the book I have rewritten this discussion
in an entirely different fashion. See the
postscript version or the
PDF version.
- Page 227, code near top
- aTriange should bu aTriangle
(jv)
- Page 228, code
- Not really an error, but many people prefer to code this
as equal := (suitValue = aCard.suit) and (rankValue = aCard.rank),
and avoid the if statement.
(jv)
Chapter 13.
- Page 248, next to last paragraph
- It is not true that reversing the order of invocations of
the constructor in class C has the effect of refersing the order
of initialization. Instead, you must reverse the order of
names listed in the class heading, as in
(kl)
class C: public B, public A {
- Page 244, 2nd paragraph
- ambiguity misspelled as amibiguity
(gv)
Chapter 14.
- Page 264, line 17
- explantions => explanations
(rm)
- Page 265 and top of 266
- Method draw has no return type
(tl)
- Page 268, Deferred Methods in Smalltalk
- Extra s in subclassResponsibility
(gv)
Chapter 15.
- Note, To be revised
- For the forthcoming 3rd edition of the book I am completely rewriting
this chapter. A draft of the new chapter can be found both in
postscript and in
pdf.
- Page 272, code at bottom
- Missing uparrows and colon in assignments
newLink^.value := newValue
newLink^.nextElement := aList.firstLink
(tv)
- Page 280, line 8
-
values re extracted should be values are extracted (re should
be are)
(tv)
- Page 282, middle of page,
- Link new should be new Link
(fa)
- Page 282, middle of page
- first should be a pointer, and needs pointer dereferencing
(hl)
Chapter 16
- Page 295.
-
Some versions of the STL require 3 template arguments for
priority queue, some only 2.
- Page 295
-
The arguments first and second on the final call to que.push are reversed.
(dp)
Chapter 17
- Page 307, Reactor example
- A Nuclear Engineering student tells me that heat mediators are
simply called coolant, and that cooling rods are actually fuel rods.
(jg)
- Page 308, 5 lines from bottom
- Object oriented langauges should be language (singular)
(jv)
Chapter 18
- Page 326, middle of page
- The intermediary acts as a focus point, should be focal.
(jv)
- Page 328, first line
- all the same should be all instances of the same type
(tv)
- Page 332, exercise 1.
- a application framework should be an
(jv)
Chapter 19
- Page 336
- These seven classes (there are only six).
(jv)
Chapter 20
- Page 354, 2nd par of 20.3
- know => known
- Page 356, first line of text
- By declaring...in the class Card should be
by declaring as static....
(tv)
Chapter 21
- Page 369, line 15
- the use of using virtual remove the word using
(tv)
- Page 370, next to last line
-
``strong form'' should be ``string form''
Glossary
- Page 417, Collaborator
- dependend=>depend (aw)
- Page 422, Member
- Wrong font (mh)
Others
- Bibliogrphy
- Missing names Gene Korienek and Tom Wrensch in Korienek 1993.
- Errors in the Errata List
-
Several meta-errata (errors in previous versions of the
errata list) were reported by Tom Verhoeff.
Many Thanks
Many thanks to the following, who noticed one or more of
errors reported above.
- (ma)
- Mohammad H. Al-Huwaidi, CogniSeis Development Inc.
- (la)
- Luis Alvarez, Student in Computer Software Technology,
Bath University
- (fa)
- Francisco Azuola,
Universidad de Costa Rica
(University of Costa Rica).
- (gc)
- Gerald Cahill, Antelope Valley College, Lancaster CA
- (jg)
John Gulick, student in Nuclear Enginnering Department,
Oregon State University.
- (ch)
- Craig Hondo, IMS corporation
- (mh)
- Mohammad Huwaidi, Aramco, Saudi Arabia
- (el)
- Eric Landry,
Computer Engineering Student,
Oregon State University, Corvallis, Oregon
- (tl)
- Thomas Larsson, Lecturer
Mälardalens Högskola
(Mälardalen University), Sweden.
- (hl)
- Professor Hang Lau,
Computer Science,
Concordia University, Canada
- (kl)
- Konstantin Laufer, Department of Math,
Loyola University, Chicago.
- (rm)
- Ray Maynard, Student, Antelope Valley College,
Lancaster, CA
- (pm)
- Patrick McCormick, Computer Science,
The University of New Mexico--Los Almos.
- (dp)
- C. David Percival, NSR, Vancouver Washington.
- (kp)
- Kjell Post, Senior Lecturer, Department of Computer Engineering,
Mälardalens Högskola
(Mälardalen University), Sweden.
- (gr)
- Gordon Royle,
Senior Lecturer, Computer Science,
University of Western Australia
- (rr)
- Russ Ruby, Computer Science,
Oregon State University, Corvallis, Oregon
- (js)
- Jeff Slomka,
Southwest Texas State University
- (pt)
- Patrick Thompson, Rogue Wave, Corvallis, Oregon
- (jv)
- Jim (Jacxjo) Vanderveen,
IT Administrator, Office of Water Programs, California State
University, Sacramento.
- (cv)
- Constantin Vasiliu, Tektronix, Beaverton Oregon
- (gv)
- Ganesh Venkat, Nationwide Insurance
- (tv)
- Tom Verhoeff,
Department of Math and Computing Science,
Eindhoven University of Technology,
the Netherlands.
- (aw)
- Aaron Whiffin, WWW consultant, UK.
BTW
A machine crash some time back deleted a file that held
several other reported errata that I had not yet verified.
If you are looking for an errata you reported previously
and do not see it, please let me know once again.
Report all errors to me at budd@cs.orst.edu
Tim Budd, Associate Professor of Computer Science
Oregon State University
Corvallis, Oregon 97330