MatheMatical Objects in computational tools in a Unified Object-riented approach c++
LLC
13.21Integer Logarithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
13.22The Factorial Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
13.23Nested Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
13.24Reversed Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
13.25Binary Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
13.26Pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
13.27Pointer to a Constant Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
13.28The Referencing Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
13.29Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
13.30Two-Dimensional Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
13.31Passing Arguments to Functions . . . . . . . . . . . . . . . . . . . . . . . . . . 280
13.32Input/Output (I/O) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
13.33Input/Out with Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
13.34Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
14 Recursion 285
14.1 Recursive Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
14.2 The Power Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
14.3 Integer Logarithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
14.4 The Factorial Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
14.5 Ordered Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
14.6 Binary Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
14.7 Pascal’s Triangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
14.8 Arithmetic Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
14.9 Static Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
14.10The Exponent Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
14.11Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Part V Introduction to C++ 303
15 Objects 307
15.1 Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
15.2 Private and Public Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
15.3 Interface Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
15.4 Information and Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
15.5 Constructors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
15.6 Initialization List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
15.7 Default Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
15.8 Explicit Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
15.9 Implicit Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
15.10The Default Copy Constructor . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
15.11Destructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
15.12Member and Friend Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
15.13The Current Object and its Address . . . . . . . . . . . . . . . . . . . . . . 319
15.14Returned Pointer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
© 2009 by Taylor and Francis Group, LLC
15.15Pointer to a Constant Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
15.16References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
15.17Passing Arguments by Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 322
15.18Returning by Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
15.19Efficiency in Passing by Reference . . . . . . . . . . . . . . . . . . . . . . . . 323
15.20Copy Constructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
15.21Assignment Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
15.22Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
15.23Inverse Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
15.24Unary Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
15.25Update Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
15.26Friend Update Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
15.27Binary Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
15.28Friend Binary Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
15.29Member Binary Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
15.30Ordinary Binary Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
15.31Complex Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
15.32Member Operators with Complex Numbers . . . . . . . . . . . . . . . . 334
15.33Ordinary Operators with Complex Numbers . . . . . . . . . . . . . . . 336
15.34Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
16 Vectors and Matrices 339
16.1 Induction and Deduction in Object-Oriented Programming . . 339
16.2 Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
16.3 The Vector Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
16.4 Constructors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
16.5 Assignment Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
16.6 Arithmetic Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
16.7 Points in the Cartesian Plane and Space . . . . . . . . . . . . . . . . . . . 347
16.8 Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
16.9 Public Derivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
16.10Protected Members of the Base Class . . . . . . . . . . . . . . . . . . . . . 349
16.11Constructing a Derived Object . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
16.12Functions of Derived Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
16.13Destroying a Derived Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
16.14Inherited Member Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
16.15Overridden Member Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
16.16The Matrix Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
16.17Power of a Square Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
16.18Exponent of a Square Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
16.19Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
© 2009 by Taylor and Francis Group, LLC