TY - BOOK TI - Object oriented programming with C++ SN - 9780070669079 (pb) U1 - 005.117 PY - 2008/// CY - New Delhi PB - MC Graw hill KW - Programming C++ N1 - includes appendix; 11. Principles of Object-Oriented Programming 1.1 Software Crisis 1 1.2 Softwfiu:e Evolution 3 1.3 A Look at Procedure-Oriented Programming 4 1.4 Object-Oriented Programming Paradigm 6 1.5 Basic Concepts of Object-Oriented Programming 7 1.6 Benefits of OOP 12 1.7 Object-Oriented Languages 13 1.8 Applications of OOP 14 Summary 15 Review Questions 17 2.1 What is C++? 19 2.2 Applications of C++ 20 2.3 A Simple C++ Program 20 2.4 More C++ Statements 25 2.5 An Example with Class 28 2.6 Structure of C++ Program 29 2.7 Creating the Soiirce File 30 2.8 Compiling and Linking 30 Summary 31 Review Questions 32 Debugging Exercises 33 Programming Exercises 34 [3. Tokens, Expressions and Control StnictiiT^ 3.1 Introduction 35 3.2 Tokens 36 3.3 Keywords 36 3.4 Identifiers and Constants 36 3.5 Basic Data Types 38 3.6 User-Defined Data Types 40 3.7 Derived Data Types 42 3.8 Sjonbolic Constants 43 3.9 T3rpe Compatibility 45 3.10 Declaration of Variables 45 3.11 Dynamic Initialization of Variables 46 3.12 Reference Vsiriables 47 3.13 Operators in C++ 49 3.14 Scope Resolution Operator 50 3.15 Member Dereferencing Operators 52 3.16 Memory Management Operators 52 3.17 Manipulators 55 3.18 Type Cast Operator 57 3.19 Expressions and their Types 58 3.20 Special Assignment Expressions 60 3.21 Implicit Conversions 61 3.22 Operator Overloading 63 3.23 Operator Precedence 63 3.24 Control Structures 64 Summary 69 Review Questions 71 Debugging Exercises 72 Programming Exercises 75 Functions in C+ + 4.1 Introduction 77 4.2 The Main Ftmction 78 4.3 Function Prototj^jing 79 4.4 Call by Reference 81 4.5 Return by Reference 82 4.6 Inline Ftmctions 82 4.7 Default Arguments 84 4.8 const Arguments 87 4.9 Function Overloading 87 4.10 Friend and Virtual F\mctions 89 4.11 Math Library Fimctions 90 Summary 90 Review Questions 92 Debusing Exercises 93 Programming Exercises 95 15. Classes and Objects 5.1 Introduction 96 5.2 C Structures Revisited 97 5.3 Specifying a Class 99 5.4 Defining Member Functions 103 5.5 A C++Program with Class 104 5.6 Making an Outside Fxmction Inline 106 5.7 Nesting of Member Functions 107 5.8 Private Member Fimctions 108 5.9 Arrays within a Class 109 5.10 Memory Allocation for Objects 114 5.11 Static Data Members 115 5.12 Static Member Functions 117 5.13 Arrays of Objects 119 5.14 Objects as Function Arguments 122 5.15 Friendly Functions 124 5.16 Retiiming Objects 130 5.17 const Member Functions 132 5.18 Pointers to Members 132 5.19 Local Classes 134 Summary 135 Review Questions 136 Debugging Exercises 137 Programming Exercises 142 |6^^^jConsttuctor^and^Desttuctc 6.1 Introduction 144 6.2 Constructors 145 6.3 Parameterized Constructors 146 6.4 Multiple Constructors in a Class 150 6.5 Constructors with Default Arguments 153 6.6 Dynamic Initialization of Objects 153 6.7 Copy Constructor 156 6.8 Dynamic Constructors 158 6.9 Constructing Two-dimensional Arrays 160 6.10 const Objects 162 6.11 Destructors 162 Summary 164 Review Questions 165 Debugging Exercises 166 Programming Exercises 169 It. Operator Overloading and Type Conversions 7.1 Introduction 171 7.2 Defining Operator Overloading 172 7.3 Overloading Unary Operators 173 % Overloading Binary Operators 176 7.5 Overloading Binary Operators Using Friends 179 7.6 Manipulation ofStrings Using Operators 183 7.7 Rules for Overloading Operators 186 7.8 Type Conversions 187 Summary 195 Review Questions 196 Debugging Exercises 197 Programming Exercises 200 18. Inheritance; Extending Classes 8.1 Introduction 201 8.2 Defining Derived Classes 202 8.3 Single Inheritance 204 8.4 Making a Private Member Inheritable 210 8.5 Multilevel Inheritance 213 8.6 Multiple Inheritance 218 8.7 Hierarchical Inheritance 224 8.8 Hybrid Inheritance 225 8.9 Virtual Base Classes 228 8.10 Abstract Classes 232 8.11 Constructors in Derived Classes 232 8.12 Member Classes: Nesting of Classes 240 Summary 241 Review Questions 243 Debugging Exercises 243 Programming Exercises 248 19. Pointers, Virtual Functions and Polymorphism 9.1 Introduction 251 9.2 Pointers 253 9.3 Pointers to Objects 265 9.4 this Pointer 270 9.5 Pointers to Derived Classes 273 9.6 Virtual Fimctions 275 9.7 Pure Virtual Functions 281 Summary 282 Review Questions 283 Debugging Exercises 284 Programming Exercises 289 Managing Console I/O Operations 10.1 Introduction 290 10.2 C++ Streams 291 10.3 C++ Stream Classes 292 10.4 Unformatted I/O Operations 292 10.5 Formatted Console I/O Operations 301 10.6 Managing Output with Manipulators 312 Summary 317 Review Questions 319 Debugging Exercises 320 Programming Exercises 321 111. Working with Files 11.1 Introduction 323 11.2 Classes for File Stream Operations 325 11.3 Opening and Closing a File 325 11.4 Detecting end-of-file 334 . 11.5 More about OpenO; File Modes 334 11.6 File Pointers and Their Manipulations 335 11.7 Sequential Input and Output Operations 338 11.8 Updating a File: Random Acess 343 11.9 Error Handling Diiring File Operations 348 11.10 Command-line Arguments 350 Summary 353 Review Questions 355 Debugging Exercises 356 Programming Exercises 358 [l2. Templates 12.1 Introduction 359 12.2 Class Templates 360 12.3 Class Templates with Multiple Parameters 365 12.4 Fimction Templates 366 12.5 Function Templates with Multiple Parameters 371 12.6 Overloading of Template Fimctions 372 12.7 Member Function Templates 373 12.8 Non-Type Template Arguments 374 Summary 375 Review Questions 376 Debugging Exercises 377 Programming Exercises 379 113. Exception Handling 13.1 Introduction 380 13.2 Basics of Exception Handling 381 13.3 Exception Handling Mechanism 381 13.4 Throwing Mechanism 386 13.5 Catching Mechetnism 386 13.6 Rethrowing an Exception 391 13.7 Specifying Exceptions 392 Summary 394 Review Questions 395 Debugging Exercises 396 Programming Exercises 400 114. Introduction to the Standard Template Library 14.1 Introduction 401 14.2 Components of STL 402 14.3 Containers 403 14.4 Algorithms 406 14.5 Iterators 408 14.6 Application of Container Classes 409 14.7 Fimction Objects 419 Summary 421 Review Questions 423 Debugging Exercises 424 Programming Exercises 426 115. Manipulating Strings 15.1 Introduction 428 15.2 Creating (string) Objects 430 15.3 Manipulating String Objects 432 15.4 Relational Operations 433 15.5 String Characteristics 434 15.6 Accessing Characters in String.^ 436 15.7 Comparing and Swapping 438 Summary 440 Review Questions 441 Debugging Exercises 442 Programming Exercises 445 [ 16. New Features of ANSI C++ Standard 16.1 Introduction 446 16.2 New Data Tjrpes 447 16.3 New Operators 449 16.4 Class Implementation 451 16.5 Namespace Scope 453 16.6 Operator Keywords 459 16.7 New Keywords 460 16.8 New Headers 461 Summary 461 Review Questions 463 Debugging Exercises 464 Programming Exercises 467 117. Object-Oriented Systems Development 17.1 Introduction 468 17.2 Procedm-e-Oriented Paradigms 469 17.3 Procedure-Oriented Development Tools 472 17.4 Object-Oriented Paradigm 473 17.5 Object-Oriented Notations and Graphs 475 17.6 Steps in Object-Oriented Analysis 479 17.7 Steps in Object-Oriented Design 483 17.8 Implementation 490 17.9 Prototyping Paradigm 490 7.10 Wrapping Up 491 Summary 492 Review Questions 494 ER -