Brass class declaration, 723–726
Brass class implementation, 727, 730–731
Brass class objects, 732–733
BrassPlus class declaration, 723–726
BrassPlus class implementation, 727, 730–731
BrassPlus class objects, 732–733
constructors, 742
dynamic binding, 737–740
pointer compatibility, 737–739
reference type compatibility, 737–739
static binding, 737, 740
virtual destructors, 737, 742–743, 776
virtual functions, 739–742, 775–776
behavior, 734–736
friends, 743, 776
memory and execution speed, 742
redefinition, 743–745
virtual function tables, 740
public interfaces, 509
public keyword, 511–513
public member functions, 513
pure virtual functions, 748
push_back() function, 1041
push back() method, 982–984
push_heap() function, 1305
pushing values onto heap, 1314
put() method, 1071–1075
putback() member function, 1109–1114
Q
qualified, inline, 517
qualified names, 486
qualified names (functions), 514
qualifiers
cv-qualifiers, 472–473
const, 473–474
volatile, 473
keywords, 473
Queue class
class declaration, 691, 694
design, 679
implementation, 680–682
methods, 682–690
public interface, 679–680
queue class templates, 1017
queue containers, 1017
Queue() function, 683
queue simulation, 678
bank.cpp simulation, 694–698
Customer class, 690–691, 694
Queue class
class declaration, 691, 694
design, 679
implementation, 680–682
methods, 682–690
public interface, 679–680
queue.cpp, 692–694
queue.h, 691–692
queuecount() function, 685
queuetp.h, 893–895
quotation marks (), 36
R
rand() function, 53, 605
random access, files, 1133–1141
temporary files, 1141–1142
random access iterators, 999
Random Walk sample program, 603
random.cpp, 1138–1139
random_shuffle() function, 987–988, 1295, 1302
random_shuffle() STL function, 991
randwalk.cpp, 603
range-based for loop
C++11, 233–234
templates, 1161
range_error exception, 919
ranges, logical AND operator (&&), 265–267
ranges (arrays), 332–334
RatedPlayer class, 711–712
header files, 716
method definitions, 716
RatedPlayer object, 717–718
Rating() method, 719
rbegin() method, 1251, 1275
rdstate() stream state method, 1098–1102
read() member function, 1109–1114, 1130–1133
reading
C-style strings
get(), 127–130
getline(), 126–127
from files, 1116–1118
string class strings, 136–140
text files, 292–298
text with loops, 234
cin.get() function, 235–237, 241–244
cin object, 234–235
end-of-file conditions, 237–241
sentinel characters, 234
real numbers, 50
recommended reading, 1323–1324
rect_to_polar() function, 348–349
rectangular coordinates, 346
converting to polar coordinates, 348–351
recur.cpp, 355, 358
recurs() function, 357–359
recursion, 357
multiple recursive calls, 359–361
single recursive call, 358–359
variadic template functions, 1199–1202
recursive use of templates, 846–847
redefining virtual functions, 743–745
redirecting I/O, 1067–1068
redirection, 238
refcube() function, 391–393
reference, passing by, 343, 386, 389–390, 770
reference arguments, 392–394, 408–409
reference counting, 973
reference operator (&), 383–386
reference parameters, overloading, 415
reference returns, const, 400
reference type, 1273
reference variables, 383
arguments, 408–409
class objects, 401–405
creating, 383–386
function parameters, 386, 389–390
inheritance, 405–408
initialization, 385
properties, 390–391
structures, 394, 397–399
const keyword, 401
return references, 399–400
references
inheritance, 737–739
returning, 399, 770–771
referencing declarations, 463
refinement, 1001