3EE4A OBJECT ORIENTED PROGRAMMING (Common to EE, EX, CS and IT)
Unit 1
Introduction: Review of structures in C, accessing members of structures using structure
variables, pointer to structures, passing structures to functions, structures as user defined data
types.
Unit 2
Introduction to Programming Paradigms: (Process oriented and Object oriented). Concept of
object, class, objects as variables of class data type, difference in structures and class in terms of
access to members, private and public Basics of C++: Structure of C++ programs, introduction to
defining member functions within and outside a class, keyword using, declaring class, creating
objects, constructors & destructor functions, Initializing member values with and without use of
constructors, simple programs to access & manipulate data members, cin and cout functions.
Dangers of returning reference to a private data member, constant objects and members function,
composition of classes, friend functions and classes, using this pointer, creating and destroying
objects dynamically using new and delete operators.
Static class members, container classes and iterators, proxy classes.members of a class, data &
function members. Characteristics of OOP- Data hiding, Encapsulation, data security.
Unit 3
Operator Overloading: Fundamentals, Restrictions, operator functions as class members v/s as
friend functions. Overloading stream function, binary operators and unary operators.Converting
between types.
Unit 4
Inheritance: Base classes and derived classes, protected members, relationship between base
class and derived classes, constructors and destructors in derived classes, public, private and
protected inheritance, relationship among objects in an inheritance hierarchy, abstract classes,
virtual functions and dynamic binding, virtual destructors.
Unit 5
Multiple inheritance, virtual base classes, pointers to classes and class members, multiple class
members. Templates, exception handling.
Suggested Readings:
1. How to Program C++, Dietel, Pearson
2. Mastering C++ By K.R.Venugopal, TMH
3. Object Oriented Programming in C++ By Robert Lafore, Pearson
4. Object Oriented Design & Modelling, Rambaugh, Pearson