PROGRAMMING IN C++
CHAPTER1: Introduction to Object Oriented Programming
Programming Paradigm - Evolution of Programming Paradigms - Limitations of unstructured
programming languages - Problems with Structured Programming – Comparison of C and C++ - Object
Oriented Programming advantages and characteristics
CHAPTER2: Introduction to C++
History of C++ - A Simple C++ Program - Extensions to C in C++ - Lexical Conventions (data types,
variables, identifiers, constants)-Operators(Arithmetic, Relational, Logical, Assignment, Conditional,
Bitwise (operations on bits), Comma, sizeof, Operator Precedence) - Control Structures (branching and
looping)
CHAPTER3: Functions
Introduction to functions - Default function arguments – Recursion - Inline Functions – Storage Classes
CHAPTER4: Classes and Objects
Introduction to classes and objects – Encapsulation and Information Hiding - Structures and classes –
Unions and classes – Constructors and Destructors – Friend functions and Friend classes- Passing Objects
to Functions - Static class members – The Scope Resolution Operator – Nested Classes
CHAPTER5: Arrays, Pointers, References and Dynamic Allocation
Array of Objects – Pointers to objects – Pointer Arithmetic - this Pointer – Pointers to Derived Types –
Pointers to Class Members – References – Dynamic Allocation Feature
CHAPTER6: Overloading
Function Overloading – Constructor Overloading –Copy Constructor– Operator Overloading Using a
Member function - Operator Overloading using a Friend Function- Operator Overloading using non
member operator functions- Restrictions in Operator Overloading
CHAPTER7: Inheritance
Base Classes and Derived Classes – Public, Private and Protected Inheritance –Relationships between
objects (IS-A and HAS -A) - Forms of Inheritance (Single, Multiple, Hierarchical, Multilevel, Hybrid and
Multipath) – Constructors and Destructors with Inheritance – Virtual Base Class
CHAPTER8: Virtual Functions and Polymorphism
Introduction to Virtual Functions – Pure Virtual Functions – Abstract Classes – Early and Late Binding
CHAPTER9: Templates
Generic Functions – Overloading a Generic Function - Overloading Function Template - Generic Function
Restrictions – Applications of Generic Functions – Generic Classes
CHAPTER10: Exception Handling
The throw Statement - The try Statement – Options (catching all Exceptions, Restricting Exceptions,
Rethrowing an Exception) – Derived Class Exceptions – terminate() and unexpected() handlers –
uncaught_exception() - exception and bad_exception Classes
CHAPTER11: I/O System
Streams – Formatted I/O
CHAPTER12: File I/O
<fstream> - File Classes – File Operations (read , write, open and close) – Unformatted I/O – Binary I/O –
Customized I/O
CHAPTER13: Namespaces and Conversion Functions
Namespaces Fundamentals - using – Unnamed Namespace - The std Namespace – Conversion Functions
- Variable Scope - Variable Lifetime