Course Objectives:

  1. To familiarize students with basic concepts of object oriented programming
  2. To familiarize students with operator overloading, inheritance, virtual functions and friend functions.
  3. To familiarize students with advanced concepts of object oriented programming like templates and  exception handling

Unit I

Basic Concepts Of Object Oriented Programming:- Procedural Vs. Object oriented Programming, C++Standard Library, Preprocessor Directives, illustrative Simple C++ Programs. Header Files and Namespaces, library files. Object Oriented Concepts: Introduction to Objects and Classes, Data Abstraction, Encapsulation (Information Hiding), Access Modifiers: Controlling access to a class, method, or variable (public, protected, private), Polymorphism, Inheritance, and Reusability

Classes: – Introduction, Structure Vs. Class, Class Scope and Accessing Class Members,  Initializing Class Objects: Constructors.

Click on any topic to read about the topic.

Unit II

Destructors, Friend Functions And Operator Overloading:- Destructors, Static Class Members,Const (Constant) Object And Const Member Functions, Object as Member of Classes, Friend Function and Friend Classes, Using This Pointer, Dynamic Memory Allocation with New and Delete, Container Classes and Iterators, Function overloading

Operator Overloading: – Introduction, Fundamentals of Operator Overloading, Restrictions on OperatorsOverloading, Operator Functions as Class Members vs. as Friend Functions, Overloading Binary Operators (+,-,*, /,=),Overloading Unary Operators(-,++,–,)

Click on any topic to read about the topic.

Unit III

Inheritance And Virtual Functions:- Introduction, Types of Inheritance, Base Classes And DerivedClasses, Virtual Base class, Casting Base Class Pointers to Derived- Class Pointers, Using Member Functions, Overriding Base – Class Members in a Derived Class, Public, Protected and Private Inheritance, Using Constructors and Destructors in derived Classes, Composition Vs. Inheritance, Overloading Vs. Overriding. Run Time Polymorphism, Introduction to Virtual Functions, Pure Virtual Functions, Abstract Base Classes and Concrete Classes, Dynamic Binding, Virtual Destructors, Dynamic Binding.

Click on any topic to read about the topic.

Unit IV

Files, Templates And Exception Handling: – Files and I/O Streams and various operation on files. StreamInput/output Classes and Objects, Stream Output, Stream Input, Unformatted I/O (with read and write), Stream Manipulators, Stream Format States, Stream Error States.

Templates & Exception Handling: – Function Templates, Overloading Template Functions, ClassTemplate, Class Templates and Non-Type Parameters, Templates and Inheritance, Templates and Friends.

Basics of C++ Exception Handling: – Try Throwing, Catch, and Throwing an Exception; – Catching an Exception,Re-throwing an Exception, Processing Unexpected Exceptions, Constructors, Destructors and Exception Handling.

Click on any topic to read about the topic.


  1. Object Oriented Programming in Turbo C++ by Robert Lafore ,1994, The WAITE Group Press.
  2. Programming with C++ By D Ravichandran, 2003, T.M.H 3. Object oriented Programming with  C++ by E Balagurusamy, 2001, Tata McGraw-Hill.
  3. C++ How to Program by H M Deitel and P J Deitel, 1998, Prentice Hall
  4. Computing Concepts with C++ Essentials by Horstmann, 2003, John Wiley,
  5. The Complete Reference in C++ By Herbert Schildt, 2002, TMH.
  6. C++ Programming Fundamentals by Chuck Easttom, Firewall Media.

Course Outcomes:  After successful completion of the course:-

  1. To understand the difference between object oriented programming and procedural programming.
  2. To understand the basic concepts of object oriented programming
  3. To understand and implement C++ features such as Operator overloading, inheritance, virtual functions and friend functions.
  4. To understand and apply the concepts of templates and exception handling
error: You can only copy the programs code and output from this website. You are not allowed to copy anything else.