Course Code: BCA2001T

Course Name: Object Oriented Programming using C++

L-T-P-C: 3-1-0-4

UNIT-I

Introduction: Introducing Object-Oriented Approach, Relating to other paradigms (functional

and data decomposition). Basic concepts: Class, Object, Abstraction, Encapsulation,

Inheritance, Polymorphism, Review of C, Difference between C and C++, cin, cout, new,

delete, operators.

UNIT-II

Classes and Objects: Encapsulation, Information hiding, Abstract data types, Object & classes,

Attributes, Methods, C++ class declaration, State identity and behavior of an object,

Constructors and destructors, Instantiation of objects, Default parameter value, object types,

C++ garbage collection, Dynamic memory allocation, Meta class / Abstract classes.

UNIT-III

Inheritance: Class hierarchy, Derivation – public, private & protected, Aggregation,

composition vs classification hierarchies. Polymorphism: Categorization of polymorphism

techniques, operator overloading, Virtual function, Virtual Base class.

UNIT-IV

Generic Programming: Introduction to Generic Programming, Class Templates, Class

templates with multiple parameters, Template function, Function template with multiple

parameters, Overloading of Template functions, Standard Template Library.

UNIT-V

Streams, Files and Exception Handling: Overview of Stream Class Hierarchy, Streams

classes, Stream Errors, Disk File I/O with streams, file pointers, Exception handling

mechanism, Error handling in file I/O with member function, Multiple catch statements.

Text and Reference Books:

1. Mastering C++, A. R. Venugopal, Rajkumar, T. Ravishanker, TMH, 1997.

2. C++ Primer, S. B. Lippman & J. Lajoie, Addison Wesley, 3rd Edition, 2000.

3. Object Oriented Programming using C++, R. Lafore, Galgotia Publications, 2004

4. Object Oriented Programming with C++, E. Balagurusamy, TMH.

5. Mastering Object-Oriented Programming with C++, R. S. Salaria, Khanna Publishing

House