The importance of OBJECT ORIENTED PROGRAMMING is well known in various educational fields of computer science fiction. Overwhelming to various subjects in computer science interested me to write this book. The book is structured to cover key aspects of the subject OOPS WITH C++.
The book uses plain and lucid language to explain fundamentals of the subject. Each chapter is supported with necessary illustrations, practical examples. All the chapters in the book are arranged in a proper sequence that permits each topic to build upon earlier studies of this. All care has been taken to make students comfortable in understanding the basic concepts of the subject.
The book not only covers the entire scope of the subject but explains the philosophy of the subject. This makes the understanding of this subject clearer and makes it more interesting. This book is suitable for any computer science students.
Unit I Algorithm and its characteristics, pseudo code / flow chart, program.
Object Oriented Programming: Introduction, Generation of programming Languages, Programming Paradigms, Features of Object Oriented Programming, Merits and Demerits of Object Oriented Programming Language.
Basics of C++ Programming: Introduction, History, Structure, Writing the First C++ Program, Files used in a C++ Program, Compiling and Executing, Using Comments, Tokens, Characters Set, Keywords, Identifier, Data Types, Variables, Constants, Input and Output, Statements , Operators, Type Conversion and Type Casting,
Decision Control and Looping Statements: Introduction to Decision Control Statements, Conditional Branching Statements, Iterative Statements, Nested Loops, Break Statement, Continue Statement, Goto Statement, Avoiding Usage of Break, Continue, and Goto Statements
Unit II Functions: Introduction, Need for Functions, Using Functions, Function Declaration or function, Prototype, Function Definition, Function Call, Return Statement, Passing Parameters to the Function, Default Arguments, Return by Reference, Passing Constants as Arguments, Variables Scope, Storage Classes, Inline Functions, Function Overloading, Recursive Functions, Recursion Versus Iteration, Function with Variable Number of Arguments
Arrays: Introduction, Declaration of Arrays, Accessing Elements of the Array, Storing Values in Arrays, Calculating the Length of Array, Operations that can be Performed on Arrays, One Dimensional Arrays for Inter Function Communication, Two Dimensional Arrays, Multi Dimensional Arrays,
Pointers: Defining Pointers, Declaring Pointer Variables, Pointer Expressions and Pointer Arithmetic, Null Pointers, Generic Pointers, Passing Arguments to Function Using Pointer, Pointer and Arrays, Passing Array to Function, Differences Between Array Name and Pointer, Pointer to function, Arrays of Function Pointers, Memory Allocation in C++, Dynamic Memory Allocation,
Unit III Structure, Union, and Enumerated Data Types: Structure Declaration, Typedef Declaration, Initialization the Structures, Accessing the Members of a Structures, Union, Union Inside Structures, Enumerated Data Types.
Classes and Objects: Specifying a Class, Creating Objects, Accessing Object Members, Nested Member Functions, Making a Memory Function Inline, Memory Allocation for Class and Objects, Returning Objects, this Pointer, Constant Parameters and Members, Pointers within a Class, Local Classes, Nested Classes in C++, Empty Classes, Friend Function, Friend Class, Bit-Field in Classes, Pointers and Class Members.
Constructors and Destructors: Constructor, Types of Constructors, Constructor with Default Arguments, Constructor Overloading, Destructors.
Unit IV Operator overloading and Type Conversions : Scope of Operator Overloading, Syntax for Operator Overloading, Operators that can and cannot be Overloaded, Implementing Operator Overloading, Overloading Unary Operators, Overloading Binary Operators, Overloading Special Operators, Type Conversions.
Inheritance and Run-Time Polymorphism: Defining Derived Classes, Access Specifiers, lype of Inheritance, Single Inheritance, Constructors and Destructors in Derived Classes, Multi level Inheritance, Constructor in Multi Level Inheritance, Multiple Inheritance, Constructor and Destructor in Multiple Inheritance, Ambiguity in Multiple Inheritance, Hierarchical Inheritance, Constructors and Destructors in Hierarchical Inheritance, Hybrid Inheritance, Multi-path Inheritance, Virtual Base Classes, Object Slicing, Pointer to Derived Class, Run time Polymorphism, Virtual Functions, Pure Virtual Functions, Abstract Base Classes, Concept of Vtables, Virtual Constructor and Destructor.
Templates: Introduction, Use of templates, Function templates, Class templates.