|
|
 |
|
|
|
|
base 7, 449 |
|
|
|
 |
|
|
|
|
binary, 450-453 |
|
|
|
 |
|
|
|
|
declaring |
|
|
|
 |
|
|
|
|
arrays, 225-229 |
|
|
|
 |
|
|
|
|
free store, 235-238 |
|
|
|
 |
|
|
|
|
pointers to functions, 333-335 |
|
|
|
 |
|
|
|
|
class methods, 91 |
|
|
|
 |
|
|
|
|
classes, 87-88, 250, 351 |
|
|
|
 |
|
|
|
|
abstract data types, 290 |
|
|
|
 |
|
|
|
|
friend, 329 |
|
|
|
 |
|
|
|
|
constructors, 95 |
|
|
|
 |
|
|
|
|
default values, 196-198 |
|
|
|
 |
|
|
|
|
destructors, 95 |
|
|
|
 |
|
|
|
|
functions, 62-64 |
|
|
|
 |
|
|
|
|
const, 100 |
|
|
|
 |
|
|
|
|
friends, 330 |
|
|
|
 |
|
|
|
|
inline, 76-78 |
|
|
|
 |
|
|
|
|
objects, 159 |
|
|
|
 |
|
|
|
|
parameterized List objects, 404-405 |
|
|
|
 |
|
|
|
|
parameters |
|
|
|
 |
|
|
|
|
default, 73-75 |
|
|
|
 |
|
|
|
|
function prototypes, 73 |
|
|
|
 |
|
|
|
|
function definitions, 73 |
|
|
|
 |
|
|
|
|
pointers |
|
|
|
 |
|
|
|
|
const objects, 157-159 |
|
|
|
 |
|
|
|
|
functions, 330, 333 |
|
|
|
 |
|
|
|
|
indirection operator (*), 138 |
|
|
|
 |
|
|
|
|
pure virtual functions, 290 |
|
|
|
 |
|
|
|
|
variable types, 135 |
|
|
|
 |
|
|
|
|
variables, 436 |
|
|
|
 |
|
|
|
|
decrement operator (--), 46 |
|
|
|
 |
|
|
|
|
postfix, 46-48 |
|
|
|
 |
|
|
|
|
prefix, 46-48 |
|
|
|
 |
|
|
|
|
decrementing pointers, 236 |
|
|
|
 |
|
|
|
|
deep copies, 200-204, 216 |
|
|
|
 |
|
|
|
|
default constructor, 149 |
|
|
|
 |
|
|
|
|
default constructors, 94-95, 149, 198 |
|
|
|
 |
|
|
|
|
default copy constructors, 200 |
|
|
|
 |
|
|
|
|
default destructors, 95 |
|
|
|
 |
|
|
|
|
default parameters, declaring, 73-75 |
|
|
|
 |
|
|
|
|
default statements, 429 |
|
|
|
 |
|
|
|
|
default values |
|
|
|
 |
|
|
|
|
advantages, 198, 204 |
|
|
|
 |
|
|
|
|
declaring, 196-198 |
|
|
|
 |
|
|
|
|
overloaded functions, 205 |
|
|
|
 |
|
|
|
|
when to use, 198 |
|
|
|
 |
|
|
|
|
#define command, 348-351 |
|
|
|
 |
|
|
|
|
conditional compiling, 352 |
|
|
|
 |
|
|
|
|
creating macro functions, 352-353 |
|
|
|
 |
|
|
|
|
defining constants, 38 |
|
|
|
 |
|
|
|
|
string substitutions, 348 |
|
|
|
 |
|
|
|
|
substituting for constants, 348 |
|
|
|
 |
|
|
|
|
defined symbols, naming, 352 defining |
|
|
|
 |
|
|
|
|
class methods, 91 |
|
|
|
 |
|
|
|
|
classes (templates), 404 |
|
|
|
 |
|
|
|
|
constants |
|
|
|
 |
|
|
|
|
#define command, 38 |
|
|
|
 |
|
|
|
|
const, 38-39 |
|
|
|
 |
|
|
|
|
copy constructors, 201-204 |
|
|
|
 |
|
|
|
|
from command line, 352 |
|
|
|
 |
|
|
|
|
from IDE, 352 |
|
|
|
 |
|
|
|
|
functions, 62-64 |
|
|
|
 |
|
|
|
|
levels, 366 |
|
|
|
 |
|
|
|
|
objects, 88 |
|
|
|
 |
|
|
|
|
string substitutions (#define command), 348 |
|
|
|
 |
|
|
|
|
strings, 349 |
|
|
|
 |
|
|
|
|
variables, 32 |
|
|
|
 |
|
|
|
|
assigning values, 94 |
|
|
|
 |
|
|
|
|
initializing, 94 |
|
|
|
 |
|
|
|
|
creating, 31-33 |
|
|
|
 |
|
|
|
|
definitions |
|
|
|
 |
|
|
|
|
class method |
|
|
|
 |
|
|
|
|
function bodies, 101 |
|
|
|
 |
|
|
|
|
function headers, 101 |
|
|
|
 |
|
|
|
|
functions, 62-66, 101 |
|
|
|
 |
|
|
|
|
declaring parameters, 73 |
|
|
|
 |
|
|
|
|
delegating responsibility, 303, 310 |
|
|
|
 |
|
|
|
|
delete keyword, 145-146 |
|
|
|
 |
|
|
|
|
deleting |
|
|
|
 |
|
|
|
|
arrays, 238 |
|
|
|
 |
|
|
|
|
memory, 216 |
|
|
|
 |
|
|
|
|
destructors, 152-154 |
|
|
|
 |
|
|
|
|
objects, 150-151 |
|
|
|
 |
|
|
|
|
pointers, 147 |
|
|
|
 |
|
|
|
|
stray pointers, 156 |
|
|
|
 |
|
|
|
|
this pointer, 156 |
|
|
|
 |
|
|
|
|
DemonstrationFunction(), 24 |
|
|
|
 |
|
|
|
|
dereference operator (*), 138, 142 |
|
|
|
 |
|
|
|
|
dereferencing |
|
|
|
 |
|
|
|
|
function pointers, 333 |
|
|
|
 |
|
|
|
|
int variables, 185 |
|
|
|
 |
|
|
|
|
pointers, 138 |
|
|
|
 |
|
|
|
|
derivation (syntax), 250 |
|
|
|
 |
|
|
|
|
derived classes, 248-252, 265-266, 283, 388 |
|
|
|
 |
|
|
|
|
aquiring (data/methods), 387 |
|
|
|
 |
|
|
|
|
constructors (overloading), 259-260 |
|
|
|
 |
|
|
|
|
objects, 254, 268 |
|
|
|
 |
|
|
|
|
derived type, 8 |
|
|
|
 |
|
|
|
|
deriving |
|
|
|
 |
|
|
|
|
ADTs, 294, 297-298 |
|
|
|
 |
|
|
|
|
classes, 392 |
|
|
|
 |
|
|
|
|
design, object-oriented, 402 |
|
|
|
 |
|
|
|
|
designing |
|
|
|
 |
|
|
|
|
classes, 390-391 |
|
|
|
 |
|
|
|
|
interfaces, 388 |
|
|
|
 |
|
|
|
|
programs, 10, 376, 388, 393 |
|
|
|
 |
|
|
|
|
80/80 rule, 390 |
|
|
|
 |
|
|
|
|
analysis phase, 377, 384-385 |
|
|
|
 |
|
|
|
|
buy/build question, 389 |
|
|
|
 |
|
|
|
|
classes, 379, 385-386, 390-391 |
|
|
|
 |
|
|
|
|
conceptualization phase, 377, 383 |
|
|
|
 |
|
|
|
|
design questions, 393-394 |
|
|
|
 |
|
|
|
|
determining required objects, 378, 385 |
|
|
|
 |
|
|
|
|
determining requirements, 377, 384-385 |
|
|
|
 |
|
|
|
|
files, 389 |
|
|
|
 |
|
|
|
|
high-level, 377-378 |
|
|
|
 |
|
|
|
|
low-level, 377 |
|
|
|
 |
|
|
|
|
multiple inheritance, adding, 386 |
|
|
|
 |
|
|
|
|
ongoing considerations, 393 |
|
|
|
 |
|
|
|
|
parallel hierarchies, 385 |
|
|
|
 |
|
|
|
|
prototypes, 389-390. See also prototypes |
|
|
|
 |
|
|
|
|
simulations, 376 |
|
|
|
 |
|
|
|
|
use cases, 377 |
|
|
|
 |
|
|
|
|
destroying temporary objects, 178 |
|
|
|
 |
|
|
|
|
destructors, 94, 97 |
|
|
|
 |
|
|
|
|
calling, 200, 254-256 |
|
|
|
 |
|
|
|
|
objects, 178-180 |
|
|
|
 |
|
|
|
|
declaring, 95 |
|
|
|
 |
|
|
|
|
default (compilers), 95 |
|
|
|
 |
|
|
|
|
deleting memory, 152-154 |
|
|
|
 |
|
|
|
|
overloading, 199 |
|
|
|
 |
|
|
|
|
virtual, 276 |
|
|
|
|
|