TY - BOOK AU - Balagurusamy,E TI - Object-oriented programming with C++ SN - 9781259029936 (pb) U1 - 005.133 PY - 2013/// CY - New Delhi PB - Mc Graw Hill KW - Object-oriented programming (Computer science) KW - C++ (Computer program language) N1 - Includes index; 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 Appiications of OOP Summary Key Terms Review Questions 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 Summary Key Terms Review Questions Debugging Exercises Programming Exercises 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 5. 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 Summary Key Terms Review Questions Debugging Exercises Programming Exercises 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 Summary Key Terms Review Questions Debugging Exercises Programming Exercises 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 Summary Key Terms Review Questions Debugging Exercises Programming Exercises 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-Dimensional Arrays 6.10 const Objects 6.11 Destructors Summary Key Terms Review Questions Debugging Exercises Programming Exercises /.I Introduction 7.2 Defining Operator oading 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 Operato. 7.9 Type Conversions Summary Key Terms Review Questions Debugging Exercises Programming Exercises 8.1 Introduction 8.2 Defining Derived Classes 8.3 Single Inheritance 8.4 Making a Private Member Inheritable 8.5 Multilevel Inheritance 8.6 Multiple Inheritance 8.7 Hierarchical Inheritance 8.8 Hybrid Inheritance 8.9 Virtual Base Classes 8.10 Abstract Classes 8.11 Constructors in Derived Classes 8.12 Member Classes: Nesting of Classes Summary Key Terms Review Questions Debugging Exercises Programming Exercises 9.1 Introduction 9.2 Pointers 9.3 Pointers to Objects 9.4 this Pointer 9 5 Pointers to Derived Classes 9.6 Virtual Functions 9.7 Pure Virtual Functions 9.8 Virtual Constructors and Destructors Summary Key Terms Review Questions Debugging Exercises Programming Exercises 10.1 Introduction 10.2 C++Streams .| Q 2 C++ Stream Classes 10 4 Unformatted I/O Operations 10.5 Formatted Console I/O Operations 10.6 Managing Output with Manipulators 277 Summary 281 Key Terms 282 Review Questions 282 Debugging Exercises 283 Programming Exercises 285 11. Working with Files 11.1 introduction 286 11.2 Classes for File Stream Operations 287 11.3 Opening and Closing a File 288 11.4 Detecting End-of-Flle 295 11.5 More about OpenQ: File Modes 296 11.6 File Pointers and their Manipulations 297 11.7 Sequential Input and Output Operations 299 11.8 Updating a File: Random Acess 305 11.9 Error Handling During File Operations 309 11.10 Command-Line Arguments 311 Summary 313 Key Terms 314 Review Questions 314 Debugging Exercises 316 Programming Exercises 317 12. Templates 12.1 Introduction 319 12.2 Class Templates 319 12.3 Class Templates with Multiple Parameters 324 12.4 Function Templates 326 12.5 Function Templates with Multiple Parameters 331 12.6 Overloading of Template Functions 332 12.7 Member Function Templates 333 12.8 Non-Type Template Arguments 334 Summary 335 Key Terms 335 Review Questions 335 Debugging Exercises 337 Programming Exercises 339 13. Exception Handling . . 13.1 Introduction 340 ' • . , 13.2 Basics of Exception Handling 340 ■ 13.3 Exception Handling Mechanism 341 13.4 Throwing Mechanism 345 . ^ 13.5 Catching Mechanism 345 « .1 13.6 Rethrowing an Exception 350 13.7 Specifying Exceptions 352 13.8 Exceptions in Constructors and Destructors 353 13.9 Exceptions in Operator Overloaded Functions 355 Summary 356 Key Terms 356 Review Questions 356 Debugging Exercises 357 Programming Exercises 361 14. Introduction to the Standard Template Library 14.1 introduction 362 14.2 Components of STL 362 14.3 Containers 363 14.4 Algorithms 366 14.5 Iterators 369 14.6 Application of Container Classes 370 14.7 Function Objects 379 Summary 381 Key Terms 381 Review Questions 381 Debugging Exercises 382 Programming Exercises 384 15. Manipulating Strings 15.1 Introduction 386 15.2 Creating (string) Objects 388 15.3 Manipulating String Objects 389 15.4 Relational Operations 390 15.5 String Characteristics 391 15.6 Accessing Characters in Strings 393 15.7 Comparing and Swapping 394 Summary 396 Key Terms 397 Review Questions 397 Debugging Exercises 398 Programming Exercises 400 16. New Features of ANSI C++ Standard 16.1 Introduction 401 16.2 New Data Types 402 16.3 New Operators 404 16.4 Class Implementation 406 16.5 Namespace Scope 408 16.6 Operator Keywords 413 ■16 7 New Keywords 414 16.8 New Headers 415 Summary 415 Key Terms 416 Review Questions 416 Debugging Exercises 417 Programming Exercises 419 17. Object-Oriented Systems Development 17.1 Introduction 420 17.2 Procedure-Oriented Paradigms 421 17.3 Procedure-Oriented Development Tools 423 17.4 Object-Oriented Paradigm 424 17.5 Object-Oriented Notations and Graphs 426 17.6 Steps in Object-Oriented Analysis 430 11.7 Steps in Object-Oriented Design 433 11.8 Implementation 439 17.9 Prototyping Paradigm 439 17.10 Wrapping Up 441 Summary 441 Key Terms 442 Review Questions 443 ER -