TY - BOOK AU - E,Balagurusamy TI - Object-oriented programming with Cā‚Šā‚Š SN - 9781259029936 (pb) U1 - 005.11 PY - 2014/// CY - New Delhi PB - Mc Graw Hill KW - Object-oriented Programming (Computer science) KW - C++ (Computer program language) N1 - Includes appendix; 1. Principles of Object-Oriented Programming 1.1 Software Crisis 1.2 Software Evolution - 1.3 A Look at Procedure-Oriented Programming 1.4 Object-Oriented Programming Paradigm 1.5 Basic Concepts of Object-Oriented Programming 1.6 Benefits of OOP 1.7 Object-Oriented Languages 1.8 Applications of OOP 2. Beginning with C++ 2.1 What is C++? 2.2 Applications of C++ 2.3 A Simple C++ Program 2.4 More C++ Statements 2.5 An Example with Class 2.6 Structure of C++ Program 2.7 Creating the Source File 2.8 Compiling and Linking Tokens, Expressions and Control Structures 3.1 Introduction 3.2 Tokens 3.3 Keywords 3.4 Identifiers and Constants 3.5 Basic Data Types 3.6 User-Defined Data Types 3.7 Storage Classes 3.8 Derived Data Types 3.9 Symbolic Constants 3.10 Type Compatibility 3.11 Declaration of Variables 3.12 Dynamic Initialization of Variables 3.13 Reference Variables 3.14 Operators in C++ 3.15 Scope Resolution Operator 3.16 Member Dereferencing Operators 3.17 Memory Management Operators 3.18 Manipulators 3.19 Type Cast Operator 3.20 Expressions and Their Types 3.21 Special Assignment Expressions 3.22 Implicit Conversions 3.23 Operator Overloading 3.24 Operator Precedence 3.25 Control Structures 4. Functions In C++ 4.1 Introduction 4.2 The Main Function 4.3 Function Prototyping 4.4 Call by Reference 4.5 Return by Reference 4.6 Inline Functions 4.7 Default Arguments 4.8 const Arguments 4.9 Recursion 4.10 Function Overloading 4.11 Friend and Virtual Functions 4.12 Math Library Functions 5. Classes and Objects 5.1 Introduction 5.2 C Structures Revisited 5.3 Specifying a Class 5.4 Defining Member Functions 5.5 A C++ Program with Class 5.6 Making an Outside Function Inline 5.7 Nesting of Member Functions 5.8 Private Member Functions 5.9 Arrays within a Class 5.10 Memory Allocation for Objects 5.11 Static Data Members 5.12 Static Member Functions 5.13 Arrays of Objects 5.14 Objects as Function Arguments 5.15 Friendly Functions 5.16 Returning Objects 5.17 const Member Functions 5.18 Pointers to Members 5.19 Local Classes 6. Constructors and Destructors 6.1 Introduction 6.2 Constructors 6.3 Parameterized Constructors 6.4 Multiple Constructors In a Class 6.5 Constructors with Default Arguments 6.6 Dynamic Initialization of Objects 6.7 Copy Constructor 6.8 Dynamic Constructors 6.9 Constructing Two-Dlmenslonal Arrays 6.10 const Objects 6.11 Destructors 7. Operator Overloading and Type Conversions 7.1 Introduction 7.2 Defining Operator < loading 7.3 Overloading Unary Operators 7.4 Overloading Binary Operators 7.5 Overloading Binary Operators Using Friends 7.6 Manipulation of Strings Using Operators 7.7 Some Other Operator Overloading Examples 7.8 Rules for Overloading Operatoi 7.9 Type Conversions 167 Summary 174 Key Terms 174 Review Questions 175 Debugging Exercises 175 Programming Exercises 177 8. Inheritance: Extending Classes 8.1 Introduction 179 8.2 Defining Derived Classes 180 8.3 Single Inheritance 181 8.4 Making a Private Member Inheritable 187 8.5 Multilevel Inheritance 190 8.6 Multiple Inheritance 194 8.7 Hierarchical Inheritance 198 8.8 Hybrid Inheritance 200 8.9 Virtual Base Classes 202 8.10 Abstract Classes 206 8.11 Constructors in Derived Classes 207 8.12 Member Classes: Nesting of Classes 213 Summary 214 Key Terms 215 Review Questions 215 Debugging Exercises 216 Programming Exercises 220 9. Pointers, Virtual Functions and Polymorphism 9.1 Introduction 223 9.2 Pointers 224 9.3 Pointers to Objects 234 9.4 this Pointer 238 9.5 Pointers to Derived Classes 240 9.6 Virtual Functions 243 9.7 Pure Virtual Functions 247 9.8 Virtual Constructors and Destructors 249 Summary 250 Key Terms 251 Review Questions 251 Debugging Exercises 251 Programming Exercises 256 10. Managing Console I/O Operations 10.1 Introduction 257 10.2 C++Streams 257 10.3 C++Stream Classes 258 10.4 Unformatted I/O Operations 259 10.5 Formatted Console I/O Operations 266 10.6 Managing Output with Manipulators 11. Working with Files 11.1 Introduction 11.2 Classes for File Stream Operations 11.3 Opening and Closing a File 11.4 Detecting End-of-File 11.5 More about OpenQ: File Modes 11.6 File Pointers and their Manipulations 11.7 Sequential Input and Output Operations 11.8 Updating a File: Random Acess 11.9 Error Handling During File Operations 11.10 Command-Line Arguments 12. Templates 12.1 Introduction 12.2 Class Templates 12.3 Class Templates with Multiple Parameters 12.4 Function Templates 12.5 Function Templates with Multiple Parameters 12.6 Overloading of Template Functions 12.7 Member Function Templates 12.8 Non-Type Template Arguments ; 13. Exception Handling 13.1 Introduction 13.2 Basics of Exception Handling 13.3 Exception Handling Mechanism 13.4 Throwing Mechanism 13.5 Catching Mechanism 13.6 Rethrowing an Exception 13.7 Specifying Exceptions 13.8 Exceptions in Constructors and Destructors 13.9 Exceptions in Operator Overloaded Functions 14. Introduction to the Standard Template Library 14.1 Introduction 14.2 Components of STL 14.3 Containers 14.4 Algorithms 14.5 Iterators 14.6 Application of Container Classes 14.7 Function Objects 15. Manipulating Strings 15.1 Introduction 15.2 Creating (string) Objects . 15.3 Manipulating String Objects 15.4 Relational Operations 15.5 String Characteristics . 15.6 Accessing Characters in Strings 15.7 Comparing and Swapping . 16. New Features of ANSI C++ Standard 16.1 Introduction 16.2 New Data Types 16.3 New Operators 16.4 Class Implementation 16.5 Namespace Scope ^ 16.6 Operator Keywords . 16.7 New Keywords 16.8 New Headers 17. Object-Oriented Systems Development 17.1 Introduction 17.2 Procedure-Oriented Paradigms 17.3 Procedure-Oriented Development Tools 17.4 Object-Oriented Paradigm 17.5 Object-Oriented Notations and Graphs 17.6 Steps in Object-Oriented Analysis 11.7 Steps in Object-Oriented Design 11.8 Implementation 17.9 Prototyping Paradigm ER -