Mastering C++

Venugopal, K. R.

Mastering C++ K. R. Venugopal, Rajkumar Buyya and T. Ravishankar - New Delhi: Tata McGraw Hill, 1999. - 804 p.

1 Object-Oriented Paradigm
1.1 Why New Programming Paradigms ?
1.2 OOPs ! a New Paradigm .
1.3 Evolution of Programming Paradigms
1.4 Structured Versus Object-Oriented Development
1.5 Elements of Object-Oriented Programming
1.6 Objects
1.7 Classes
1.8 Multiple Views ofthe Same Object
1.9 Encapsulation and Data Abstraction.
1.10 Inheritance
1 11 Delegation - Object Composition
1.12 Polymorphism
1.13 Message Communication.
1.14 Popular OOP Languages..
1.15 Merits and Demerits of 00 Methodology .
1.16 00 Learning Curve
1.17 Software Reuse ..
1.18 Objects Hold the Key.
Review Questions
2 Moving from C to C++
2.1 Introduction
2.2 Hello World
2.3 Streams Based I/O
2.4 Single Line Comment
2.5 Literals-Constant Qualifiers
2.6 Scope Resolution Operator
2.7 Variable Definition at the Point of Use
2.8 Variable Aliases-Reference Variables
2.9 Strict Type Checking
2.10 Parameters Passing by Reference .
2.11 Inline Functions
2.12 Function Overloading
2.13 Default Arguments
2.14 Keyword typedef
2.15 Functions as a Part of a Struct
2.16 Type Conversion
2.17 Function Templates
2.18 Runtime Meihory Management
3 C-H-ata Glance
3.1 Introduction
3.2 Data Encapsulation and Abstraction—Classes
3.3 Inheritance—Derived Classes
3.4 Polymorphism-Operator Overloading
3.5 Friend Functions
3.6 Polymorphism—Virtual Functions.
3.7 Generic Classes—Class Templates.
3.8 Exception Handling.
3.9 Streams Computation..
Review Questions.
4 Data lypes, Operators and Expressions
4.1 Introduction.
4.2 Character Set.
4.3 Tokens, Identifiers, and Keywords
4.4 Variables
4.5 Data TVpes and Sizes.
4.6 Variable Definition
4.7 Variable Initialization.
4.8 Characters and Character Strings
4.9 Operators and Expressions
4.10 Qualifiers
4.11 Arithmetic Operators
4.12 Relational Operators .
4.13 Logical Operators
4.14 Bit-wise Operators
4.15 Compound Assignment Operators
4.16 Increment and Decrement Operators
4.17 Conditional Operator (Ternary Operator)
4.18 Special Operators..
4.19 typedefStatement.
4.20 Promotion and TVpe Conversion ,
4.21 Constants..
4.22 Declaring Symbolic Constants—Literals
4.23 Enumerated Data Types.
4.24 Macro Functions .
4.25 Operator Precedence and Associativity .
Review Questions.
5 ControlFlow.
5.1 Introduction
5.2 Statements and Block.
5.3 if Statement.
5.4 if-else Statement..
5.5 Nested if-else Statements...
5.6 forLoop.
5.7 while loop.
5.8 do. .while Loop
5.9 break Statement.
5.10 switch Statement
5.11 copOniie Statement
5.12 goto Statement
5.13 WildStatemenls.
6' Arrays and Strings
6.1 Introduction
6.2 Operations on Arrays
6.3 Array Illustrations:
6.4 Multi-dimensional Arrays.
6.5 Strings.
6.6 Strings Manipulations
6.7 Arrays of Strings
6.8 Evaluation Order / Undefined Behaviors,
7 Modular Progranuning with Functions.
7.1 Introduction
7.2 Function Components
7.3 Passing Data to Functions..
7.4 Function Return Data Type,
7.5 Library Functions
7.6 Parameter Passing
7.7 Return by Reference
7.8 Default Arguments
7.9 Inline Funetions
7.10 Function Overloading.
7.11 Function Templates
7.12 Arrays and Functions.
7.13 C++Stack
7.14 Scope and Extent of Variables
7.15 Storage Classes,
7.16 Functions with Variable Number .of Arguments
7.17 Recursive Functions
7.18 Complete Syntax of main
8 Structures and Unions
8.1 Introduction
8.2 Structure Declaration
8.3 Structure Definition
8.4 Accessing Structure Members
8.5 Structure Initialization
8.6 Nesting of Structures.
8.7 Array of Structures
8.8 Structures and Functions
8.9 Data Type Enhancement Using typedef
8.10 Structures and Encapsulation
8.11 Unions
8.12 Differences between Structures and Unions
8.13 Bit-fields in Structures
9 Pointers and Runtime Binding
9.1 Introduction
9.2 Pointers and their Binding
9.3 Address Operator &.
9.4 Pointer Variables
9.5 Void Pointers
9.6 Pointer Arithmetic
9.7 Runtime Memory Management
9.8 Pointers to Pointers
9.9 Array of Pointers
9.10 Dynamic Multi-dimensional Arrays
9.11 Pointer Constants
9.12 Pointers and String Functions
9.13 Environment Specific Issues
9.14 Pointers to Functions
9.16 Pointers to Constant Objects..
9.17 Constant Pointers
9.18 Pointer to Structures
9.19 Wild Pointers
10 Classes and Objects
10.1 Introduction.
10.2 Class Specification..
10.3 Class Objects
10.4 Accessing Class Members...
10.5 Defining Member Functions
10.6 Outside Member Functions as inline
10.7 Accessing Member Functions within the Class
10.8 Data Hiding.
10.9 Access Boundary of Objects Revisited
10.10 Empty Classes
10.11 Pointers within a Class
10.12 Passing Objects as Arguments
10.13 Returning Objects from Functions
10.14 Friend Functions and Friend Classes.
10.15 Constant Parameters and Member Functions
10.16 Structures and Classes.
10.17 Static Data and Member Functions
10.18 Class, Objects and Memory Resource
10.19 Class Design Steps
Review Questions .
11 Object Initialization and Cleanup
11.1 Class Revisited.
11.2 Constructors
11.3 Parameterized Constructors
11.4 Destructor
11.5 Constructor Overloading
11.6 Order of Construction and Destruction
11.7 Constructors with Default Arguments.
11.8 Nameless Objects.
11.9 Dynamic Initialization through Constructors
11.10 Constructors with Dynamic Operations
11.11 Copy Constructor.
11.12 Constructors for Two- dimensional Arrays
11.13 Constant Objects and Constructor
11.14 Static Data Members with Constructors and Destructors
11.15 Nested Classes
12 Dynamic Objects..
12.1 Introduction.
12.2 Pointers to Objects.
12.3 Live Objects
12.4 Array of Objects
12.5 Array of Pointers to Objects
12.6 Pointers to Object Members
12.7 Function set_new_handler
12.8 this Pointer
12.9 Self-referential Classes
12.10 Guidelines for Passing Object Parameters
13 Operator Overloading
13.1 Introduction
13.2 Overloadable Operators .
13.3 Unary Operator Overloading
13.4 operator Key word
13.5 Operator Return Values
13.6 Nameless Temporary Objects
13.7 Limitations of Increment/Decrement Operators
13.8 Binary Operator Overloading
13.9 Arithmetic Operators
13.10 Concatenation of Strings
13.11 Comparison Operators
13.12 Arithmetic Assignment Operators
13.13 Overloading of new and delete Operators
13.14 Data Conversion
13.15 Conversion Between Basic Data
13.16 Conversion Between Objects and Basic IVpes.
13.17 Conversion between Objects of Different Classes
13.18 Subscript Operator Overloading
13.19 Overloading with Friend Functions
13.20 Assignment Operator Overloading
13.21 Tracing Memory Leaks
13.22 Niceties of Operator Overloading and Conversions
14 Inheritance
14.1 Introduction
14.2 Class Revisited
14.3 Derived Class Declaration
14.4 Forms of Inheritance
14.5 Inheritance and Member Accessibility
14.6 Constructors in Derived Classes
14.7 Destructors in Derived Classes
14.8 Constructors Invocation and Data Members Initialization
14.9 Overloaded Member Functions
14.10 Abstract Classes
14.11 Multilevel Inheritance
14.12 Multiple Inheritance
14.13 Hierarchical Inheritance
14.14 Multipath Inheritance and Virtual Base Classes
14.15 Hybrid Inheritance
14.16 Object Composition-Delegation
14.17 When to Use Inheritance ?
14.18 Benefits of inheritance
14.19 Cost of Inheritance
15 Virtual Functions
15.1 Introduction
15.2 Need for Virtual Functions
15.3 Pointer to Derived Class Objects
15.4 Definition of Virtual Functions
15.5 Array of Pointers to Base Class Objects
15.6 Pure Virtual Functions
15.7 Abstract Classes
15.8 Virtual Destructors
15.9 How is Dynamic Binding Achieved ?
15.10 Rules for Virtual Functions
16 Generic Programming with Templates
16.1 Introduction
16.2 Function Templates
16.3 Overloaded Function Templates
16.4 Nesting of Function Calls.
16.5 Multiple Arguments Function Template
16.6 User Defined Template Arguments
16.7 Class Templates.
16.8 Inheritance of Class Template
16.9 Class Template Containership
16.10 Class Template with Overloaded Operators
17 Streams Computation with Console
17.1 What are Streams ?
17.2 Predefined Console Streams
17.3 Hierarchy of Console Stream Classes
17.4 Unformatted I/O Operations
17.5 Formatted Console I/O Operations
17.6 Manipulators
17.7 Custom/User-Defined Manipulators .
17.8 Stream Operator with User-defined Classes
18 Streams Computation with FUes
18.1 Introduction
18.2 Hierarchy of File Stream Classes
18.3 Opening and Closing of Files
18.4 Testing for Errors
18.5 File Modes
18.6 File Pointers and their Manipulations
18.7 Sequential Access to a File
18.8 ASCII and Binary Files
18.9 Saving and Retrieving of Objects
18.10 File Input/Output with fstream Class
18.11 Random Access to a File
18.12 In-Memory Buffers and Data Formatting ..
18.13 Error Handling During File Manipulations
18.14 Filler Utilities
19 Exception Handling..
19.1 Introduction
19.2 Error Handling
19.3 -Exception Handling Model
19.4 Exception Handling Constructs
19.5 Handler Throwing the Same Exception Again
19.6 List of Exceptions
19.7 Catch All Exceptions
19.8 Exceptions in Constructors and Destructors
19.9 Handling Uncaught Exceptions
19.10 Exceptions in Operator Overloaded Functions
19.11 Exceptions in Inheritance Tree
19.12 Exceptions in Class Templates
19.13 Fault Tolerant Design Techniques
19.14 Case-Study on Software Fault Tolerance
19.15 Memory Allocation Failure Exception
19.16 Ten Rules for Handling Exceptions Successfully
20 GO Analysis, Design and Development
20.1 Software Life Cycle: Water-Fall Model..
20.2 Cost of Error Correction
20.3 Change Management
20.4 Reusable Components .
20.5 Software Life Cycle: Fountain-Flow Model
20.6 Object-Oriented Notations
20.7 Object-Oriented Methodologies
20.8 Coad and Yourdon Object-Oriented Analysis
20.9 Booch's Object-Oriented Design
20.10 Class Design
20.11 How to Build Reliable Code ?
20.12 00 Software Performance Tuning.
20.13 Software Project Management
20.14 Plan for OO Battle
20.15 A Final Word

9780074634547 0074634542


Computer programming--C++

005.133 / VEN/M
SIKKIM UNIVERSITY
University Portal | Contact Librarian | Library Portal

Powered by Koha