< Previous | Contents | Next >

P

pAPointer pointer, 226

parameters, 153

versus arguments, 184 assigning default arguments,

173–174

functions, 158–160

parentheses

dereferencing iterators, 129

order of operations, 15, 67

passing pointers, 234–238

constant pointer, 237–238 Swap Pointer Version program,

234–236

by value, 236–237

passing references

to alter arguments, 191–194 passing by reference, 194 passing by value, 193–194 Swap program, 191–193

constant references, 197–198 Inventory Displayer program,

195–196

pitfalls, 196–197

PassTime() member function,

Critter class, 278 Peek() global function, 295 planning programs, 139–141

pseudocode, 139–140

stepwise refinement, 140–141

Play Again 2.0 program, 56–57 Play Again program, 54–55

Play() member function,

Critter class, 280

Player class

BlackJack game, 357, 359,

368–369

Game Lobby program, 316–318

pointers, 223–250

arrays and, 244–248 Array Passer program,

244–246

constant pointer, 246–247 passing and returning,

247–248

assigning addresses to, 227–228

constants and, 231–234

dangling, 301, 325

declaring, 226–227 declaring data member, 307 defined, 248

dereferencing, 228–229

initializing, 227

passing, 234–238

constant pointer, 237–238 Swap Pointer Version

program, 234–236

by value, 236–237

Pointing program, 224–226

reassigning, 229

returning, 238–244

Tic-Tac-Toe 2.0 game, 248 using with objects, 230–231

Pointing program, 224–226 Polymorphic Bad Guy program,

347–350

polymorphism, 347–380

abstract classes, 352–356 Abstract Creature program,

352–354

declaring pure virtual functions, 354–355

deriving classes from, 355–356

Blackjack game, 356–379

Card class, 361–363

Deck class, 370–373

designing classes, 356–360

Game class, 373–376

GenericPlayer class, 366–367

Hand class, 363–366

House class, 369–370

main() function, 376–377 overloading the operator()

function, 377–379

Index 407‌



planning game logic, 360–361

Player class, 368–369 defining virtual destructors,

351–352

Polymorphic Bad Guy program, 347–350

using base class pointers to derived class objects, 350–351

pop_back() member function

adding or removing elements, 138

vectors, 122

postfix increment operator, 27–28 precedence level, operators, 15 predicate function, 113

prefix increment operator, 27–28 premature optimization, 186

preprocessor, 7

priority queue, 148

priority_queue STL container, 139

Private Critter program, 264–266

private keyword, 267

private members, 282 class access levels, 267 defined, 340

procedural programming, 283

profiling code, 180

program, defined, 35

protected members, 340, 379 prototypes, function

overview, 153

parameter names and, 159 pScore pointer, 224 pseudocode

Critter Caretaker game, 276 defined, 146

Tic-Tac-Toe game, 204 when to use, 148

pseudorandom number, 70, 79

ptrToElement() function, 241–242

public derivation, 379

public inheritance, 356

public keyword, 258, 266

public members, 282 class access levels, 266 defined, 339

pure virtual function, 380

push_back() member function, 292

adding or removing elements, 138

vectors, 120


pushing, BlackJack, 356

puzzle games, 107