adding increment
operators, 303-304
adding to two lists
(inheritance), 456
addition operator (+)
overloading, 314-316
self-assigned operator
(+=), 74
address of operator (&),
222-223, 257-258
addresses
memory addresses,
227-228
determining,
222-223
examining, 229-231
retrieving, 226
storing in pointers,
224-225
target addresses,
257-260
ADTs (abstract data types),
473, 476-477
advantages, 488
declaring, 478
deriving from other ADTs,
482-486
example, 477-478
pure virtual functions, 477
algorithms, for_each( ),
709-710
aliases, 652
aligning braces ({ }), 779
allocating
memory, 234
pointers, 236
allocators, 694
ambiguity resolution,
463-464
American National
Standards Institute
(ANSI) C++ Standard,
12-13
ampersand (&)
address of operator,
222-223, 257-258
bitwise AND operator, 773
logical AND operator, 91
reference operator, 256,
280-281
analysis (use-case),
335-337
actors, 337
customer roles, 337-339
domain models,
339-343
guidelines, 344-346
interaction diagrams,
346-347
packages, 347
scenarios, 343-344
AND operators
bitwise (&), 773
logical (&&), 91
ANSI (American National
Standards Institute) C++
Standard, 12-13
anthropomorphic CRC
card, 355-356
appending files, 626-628
application analysis, 347
applications. See
programs
Area( ) function, 104
argc (argument count), 631
arguments, 36, 101, 113
command-line
processing, 631-634
defaults, 116-118
passing
to base constructors,
381-385
by reference,
262-265, 271-274
by value, 109-110, 134,
263-264
argv (argument vector), 631
arithmetic operators
combining with assign-
ment operator, 73-74
modulus (%), 73
pointers, 423-426
subtraction (-), 71-72
arrays, 407-408
Array class templates, 663
bugs, 410
char, 432-434
classes, 444-445
combining, 446
declaring, 408,
414-415, 426
defined, 407
deleting from free store,
429
dictionary arrays, 444
elements, 408-409
accessing, 415
uninitialized, 445
fence post errors, 413
filling, 433-434
initializing, 413-414
integer arrays, 409
memory, 421
multidimensional,
417-419
names, 427-428
object arrays, 416-417
pointer arrays, 421-423,
426-428
function pointers,
521-523
method pointers, 532
resizing at runtime,
429-432
sets, 444
sizes, 415
storing
on free store, 421-423
on stack, 421
writing past the end of,
410-413
artifacts, 349-350
ASCII character sets, 46
assemblers, 747
assert( ) macro, 784
debugging functions,
762-764
exceptions, 763
source code, 761-762
888 adding increment operators
34 0672327112 index.qxd 11/19/04 12:31 PM Page 888